一、一次性计划任务 at
示例:计划在23:00的时候执行 echo 123 > /tmp/hello.txt
- $ at 23:00(之后会进入at的终端控制模式)
- at> echo 123 > /tmp/hello.txt
- at> Ctrl + D(结束)
使用命令atq查看计划任务
二、周期性计划任务
相关命令:cron
- 配置方式:
crontab -e
- 查看现有的计划任务:
crontab -l
- 配置格式:分钟 小时 日期 月份 星期 执行的命令。注意命令的路径问题
- 相关文件:
- /var/log/cron ,关于 cron 的执行日志
- /var/spool/cron, 关于属于各个用户的计划任务
示例:
# 在终端输入crontab -e会进入一个类似vim的操作界面
$ cronteab -e
### crontab 界面 ###
# 每分钟执行一次 /usr/bin/date >> /tmp/dates.txt
* * * * * /usr/bin/date >> /tmp/dates.txt
# 每周三的 4:00 执行一次 /usr/bin/date >> /tmp/dates.txt
0 4 * * 3 /usr/bin/date >> /tmp/dates.txt
三、计划任务加锁 flock
如果计算机不能按照预期时间运行:
- anacrontab:延时计划任务
- 相关文件:/etc/anacrontab
- flock:锁文件
- 示例:
flock -xn "/tmp/f.lock" -c "/home/user1/a.sh"
- 示例: