Linux计划任务
crontab
# 选项
-e # 编辑计划任务
-l # 查看计划任务
-u # 给其他用户设置计划任务
-r # 清空计划任务
格式:
分 时 日 月 周 绝对路径执行命令
分钟 (0 - 59)
小时 (0 - 23)
一个月中的第几天 (1 - 31)
月份 (1 - 12)
星期中星期几 (0 - 6) (星期天 为0)
, # 表示多个具体的时间
- # 表示一个时间范围
/ # 表示频率
* # 表示所有
示例
* * * * * /bin/ls # 每一分钟执行一次 /bin/ls
0 6-12/3 * 12 * /usr/bin/backup # 在12月内, 每天的早上6点到12点,每隔3个小时0分钟执行一次 /usr/bin/backup
*/5 * * * * /home/bruce/backup # 每间隔5分钟执行 /home/bruce/backup这个文件
20 0-23/2 * * * echo "haha" # 每天0点20分开始间隔2小时, 2点20 分, 4点20 分....执行 echo "haha"
0 */2 * * * /sbin/service httpd restart # 每两个小时重启一次apache
50 7 * * * /sbin/service sshd start # 每天7:50开启ssh服务
50 22 * * * /sbin/service sshd stop # 每天22:50关闭ssh服务
0 0 1,15 * * fsck /home # 每月1号和15号检查/home 磁盘
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; # 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件
30 6 */10 * * ls # 每月的1、11、21、31日是的6:30执行一次ls命令
0 5,17 * * * /scripts/script.sh # 每天 5:00和17:00执行任务
注意1
当程序在你所指定的时间执行后,系统会发一封邮件给当前的用户,显示该程序执行的内容,
若是不希望收到这样的邮件,在每一行空一格之后加上> /dev/null 2>&1
即可
注意2
新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然可以重启 cron 来马上执行
systemctl restart crond
计划任务的日志文件
/var/log/cron