示例:重启后启动 redis
@reboot /usr/local/bin/redis-server /path/to/redis.conf
一些示例
每分钟打印日期到指定文件,
crontab -e
打开 job 编辑界面- 输入
*/1 * * * * date >> /data/home/wayongliu/foo.txt
然后:wq
保存退出 tail -f
/data/home/wayongliu/foo.txt` 查看结果
实现每隔多少秒执行
因为能设置的最小时间单位为分,需要设置每隔多少秒执行时,就需要变通来实现。
借助 sleep,可不用 crontab, 比如每 5 秒:
#!/bin/bash while true do /home/user/myscript.sh sleep 5 done
也可以 sleep 与 crontab 结合来用,考虑到每 5 秒,一分钟内即执行 12 次,可以设置 12 个 job:
* * * * * /home/user/myscript.sh * * * * * sleep 5; /home/user/myscript.sh * * * * * sleep 10; /home/user/myscript.sh * * * * * sleep 15; /home/user/myscript.sh * * * * * sleep 20; /home/user/myscript.sh * * * * * sleep 25; /home/user/myscript.sh * * * * * sleep 30; /home/user/myscript.sh * * * * * sleep 35; /home/user/myscript.sh * * * * * sleep 40; /home/user/myscript.sh * * * * * sleep 45; /home/user/myscript.sh * * * * * sleep 50; /home/user/myscript.sh * * * * * sleep 55; /home/user/myscript.sh
其中第一个任务会在每分钟开始时执行,
第二个也是每分钟开始执行,不过会 sleep 5s,所以实际是每分钟每 5s 的时候执行,
后面的任务类似,从而达到了需要的效果。
相关资源
- 在线查看 crontab 模式对应的执行周期
- The Ultimate Crontab Cheatsheet
- How to run a cronjob every X seconds in cron
- wikipedia - crontab
The text was updated successfully, but these errors were encountered: