crontab的使用笔记
1、定时执行
- 命令的格式说明
m h dom mon dow user command
minute (0 - 59)
hour (0 - 23)
day of month (1 - 31)
month (1 - 12) OR jan,feb,mar,apr …
day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
- 每天早上8点40分执行命令
40 8 * * * ubuntu cd /home/ubuntu/demo/ && ./run.bash
- 周六的上午8点45分执行
45 8 * * 6 ubuntu cd /home/ubuntu/demo/ && ./stop.bash
2、开机启动
- 开机60秒后,执行命令
@reboot ubuntusleep 60 && bash /home/djm/run.bash >> /home/djm/run.log 2>&1 &
命令需要用到网络,所以等待60秒后再执行,也就是等待网络就绪
必须使用用户 root ,也可能是其他用户,必填,否则无法运行(ubuntu20下测试)
&& 前面的命令运行成功后,再运行后面命令
>> 追加输出
2>&1将标准错误重定向到标准输出
& 后台运行
测试开机启动的语句
@reboot root echo “hi” > /home/djm/reboot.txt 2>&1
3、crontab 的另类写法
@reboot Run once, at startup.
@yearly Run once a year, “0 0 1 1 *”.
@annually (same as @yearly)
@monthly Run once a month, “0 0 1 * *”.
@weekly Run once a week, “0 0 * * 0”.
@daily Run once a day, “0 0 * * *”.
@midnight (same as @daily)
@hourly Run once an hour, “0 * * * *”