一、at
at定时任务工具,依赖于atd服务,适用于执行一次就结束的调度任务
二、corn定时任务
corn定时任务分为系统定时任务
cornd服务除了会在工作时查看/var/spool/cron文件夹下的定时任务文件以外,还会查看/etc/cron.d目录以及/etc/anacrontab下面的文件内容
crontab -e 编辑定时任务的配置文件中,写入新的定时任务,写入绝对路径,把标准的输出和错误输出,写入到/dev/null中crontab -l 查看一下自己写入的是否有问题crontab -i 删除定时任务* * * * * 分 时 日 月 周
crontab -l #列出用户设置的定时任务,等于cat var/spool/cron/rootcrontab -e #编辑用户的定时任务,等于如上命令编辑的是 vi /var/spool/cron/root文件
*/1 * * * * /bin/sh /scripts/data.sh #每分钟执行命令30 3,12 * * * /bin/sh /scripts/data.sh #每天的凌晨3点半,和12点半执行脚本30 */6 * * * /bin/sh /scripts/data.sh #每隔6小时,相当于6、12、18、24点的半点时刻,执行脚本30 8-18/2 * * * /bin/sh /scripts/data.sh # 30代表半点,8-18/2表示早上8点到下午18点之间每隔两小时也就是8、10、12、14、16、18的半点时刻执行脚本30 21 * * * /opt/nginx/sbin/nginx -s reload #每天晚上9点30重启nginx45 4 1,10 * * /bin/sh /scripts/data.sh #每月的1、10号凌晨4点45执行脚本10 1 * 6,0 /bin/sh /scripts/data.sh #每周六、周日的凌晨1点10分执行命令0,30 18-23 * * * #每天的18点到23点之间,每隔30分钟执行一次00 */1 * * * /bin/sh /scripts/data.sh #每隔一小时执行一次00 11 * 4 1-3 /bin/sh /scripts/data.sh #4月份的周一到周三的上午11点执行脚本
[root@ylin ~]# cat /etc/crontab 原则#编写
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- 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
# | | | | |
# * * * * * user-name command to be executed
crontab -e 零点备份
写入
00 00 * * * /bin/sh /server/scripts/bak.sh > /dev/null 2>&1
#解释 >/dev/null 2>&1 代表把所有输出信息重定向到黑洞文件
> 是重定向符号
/dev/null是黑洞文件
2>&1 代表让标准错误和标准输出一样
此命令表示将脚本执行的正常或者错误日志都重定向到/dev/null,也就是什么都不输出
>/dev/null 2>&1 等价于 1>/dev/null 2>/dev/null 等价于 &> /dev/null
