查看crontab日志
命令:
tail -f /var/log/cron
cron是linux的任务调度程序,可以在预订的时间执行任务,类似于windows的任务计划。
crontab一个非常实用的功能是执行备份脚本来进行系统备份,有时也用于启动或停止应用程序。
安装crontab
在Centos/RHEL系统中包名字为cronie,而在Ubuntu/Debian系统中包名字为cron,可以实用下列命令进行安装。
### CentOS / RHEL ### yum -y install cronie ### Debian / Ubuntu ### apt-get install cron
启动crontab
systemctl start cron
设置开机启动crontab
systemctl enable cron
编辑crontab
使用下列命令增加或者编辑任务计划,对当前用户生效。
crontab -e
如果需要对其他用户生效(如用户test),则使用下列命令
crontab -e -u test
定时任务路径
系统执行计划任务,会在以下路径中查找计划任务/etc/cron{tab,.d,.daily,.hourly,.monthly,.weekly},针对具体用户所制定的任务计划,在/var/spool/cron/中查找。
定时任务日志
定时任务日志在/var/log/cron
定时任务时间格式
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
20个有用的定时任务例子
1. 在特定时间执行计划任务,如每天凌晨1点执行
0 1 * * * /path/to/script.sh
2. 每天运行两次计划任务,如设置每天早上10点和晚上10点执行定时任务
0 10,22 * * * /path/to/script.sh
3. 在某天的某个时刻执行计划任务,如每个周日的凌晨1点执行备份任务
0 1 * * sun /path/to/script.sh 或者 0 1 * * 0 /path/to/script.sh 或者 0 1 * * 7 /path/to/script.sh
4. 每分钟执行
* * * * * /path/to/script.sh
5. 每5分钟执行
*/5 * * * * /path/to/script.sh
6. 每1小时执行
0 * * * * /path/to/script.sh 或者 @hourly /path/to/script.sh
7. 每2小时执行
0 */2 * * * /path/to/script.sh
8. 每天执行一次计划任务,如每天0点执行(天计划)
0 0 * * * /path/to/script.sh 或者 @daily /path/to/script.sh
9. 每几天执行任务,如每2天0点执行一次
0 0 */2 * * /path/to/script.sh
10. 每周何时执行,如每周二和每周四13点执行
0 13 * * tue,thu /path/to/script.sh
11. 每周执行一次,如每周日0点执行(周计划)
@weekly /path/to/script.sh
12. 每个月何时执行,如每个月15号早上11点执行计划任务
0 11 15 * * /path/to/script.sh
13. 每个月执行一次,如每个月1号中午12点执行
@monthly /path/to/script.sh
14. 选择具体月份执行任务
0 0 * jan,apr,jun * /path/to/script.sh
15. 每次重启系统之后执行任务
@reboot /path/to/script.sh
16. 在计划任务中发送电子邮件
MAILTO="username" 1 1 * * * /path/to/script.sh
17. 使用其他shell来执行计划任务
SHELL=/bin/sh 1 1 * * * /path/to/script.sh
18. 在计划任务中使用环境变量
PATH=/sbin:/bin:/usr/sbin:/usr/bin 1 1 * * * /path/to/script.sh
19. 可以在计划任务中自定义目录,如脚本里面的根目录为HOME目录,那么可以设置HOME目录为根目录
HOME=/ 1 1 * * * /path/to/script.sh
20. 每秒执行一次计划任务
cron的时间不支持秒级,不可以按秒来设置计划任务