首先介绍一下两个常用的命令。
- crontab -e 编辑定时任务,时间的设定可参考在线生成工具
- crontab -l 列出当前用户下的定时任务。
注:这里强调的是当前用户,因为定时任务是认用户的,所以在设定定时任务要先指定用户。
其次,路径要注意,通常在使用crontab之前会将需要的操作封装在shell脚本中,脚本中对文件的操作需要使用绝对路径。例如,打算将/app/test/a.txt 文件清空,脚本放在/app/shell下,命名clr_content.sh,以下是错误写法与正确写法:
错误写法:
#clear the a.txt content
echo "" > ../test/a.txt
单独运行可以执行成功,但加入crontab list中将无法执行。
正确写法
#clear the a.txt content
echo "" > /app/test/a.txt
最后,需要注意linux系统时间时区设置,如果是北京时间那就无所谓了。如果不是:
- 调整到北京时间(建议)
- 设置定时任务的时候计算好时差