概述、
cron守护进程支持crontab和at,可以通过这2个程序实现定时任务
执行一次:at 循环执行:crontabcrontab
crontab执行定时任务步骤,
1、按照crontab文件格式创建用户的crontab文件
2、使用crontab命令向cron提交用户的crontab文件 3、cron将用户提交的crontab文件内容添加到/var/spool/cron/目录下 与当前用户同名的文件中[root@localhost bin]# cat /etc/crontab
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/# run-parts
01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly [root@localhost bin]#/etc/cron.deny 设定黑名单,阻止特定的用户使用crontab
[btsp@Filesvr0 ~]$ crontab -l 0 2 * * * /home/btsp/get51dat/getdat.sh >> /home/btsp/get51dat/getdat.log 2>&1 分时日月周----5个时间域 分钟,0-59 小时,0-23 日,1-31 月,1-12 星期,0-6,0代表周日*代表任何时刻都接受 0 2 * * * 每天的凌晨2点
,进行分隔 0 2,6 * * * 每天的凌晨2点,6点 -代表一段时间范围 0 2-6 * * * 每天的2点到6点,即2、3、4、5、6 /n代表每隔n个单位间隔 */5 * * * * 每5分钟执行一次crontab [-u] USERNAME [-elr]
[-l]显示定时任务 [-e]编辑定时任务 [-r]删除定时任务 修改单项定时任务,使用crontab -e 即可 删除定时任务,使用crontab -r 即可 #谨慎使用! 删除/var/spool/cron/[当前用户名]修改/etc/crontab要注意语法格式:
25 00 * * 0 /usr/local/bin/backup.sh 错误写法 25 00 * * 0 root /usr/local/bin/backup.sh 正确写法二、一次性定时任务at
向at提交定时任务,at分配唯一的作业号,进入at队列等待,执行后退出队列 at的操作: at -l或atq 显示等待执行的队列 at -r job_number 取消未运行的任务 at -f script_file -m time 三、程序后台运行&: 1、命令末尾加上& 2、nohup +命令行 +& 退出账户之后,程序继续在背景执行,预设输出结果重定向到nohup.out