您的位置:首页 > 运维架构 > Linux

linux命令之crontab 任务实时调度

2015-12-30 20:23 316 查看
任务调度的crontab常驻命令

crond是linux用来定期执行程序的命令

crontab每分钟 会定期检查是否又要执行的工作
如果有执行的工作
便会自动执行该工作

工作主要分为两类:
1、
系统执行的工作
系统周期性所要执行的工作,如备份、清理缓存

2、个人执行的工作
例如每隔十分钟检查邮箱服务器是否有信息,这些工作可有用户自己设置

crontab定时任务触发器
使用者权限记载在两个文件

文件
/etc/cron.deny
该文件中所列的用户不允许使用crontab命令

/etc/cron.allow
该文件中所列的用户允许使用crontab命令

crontab -i 删除crontab文件之前给个提示!
-i(prompt before deleting user's crontab)

-e 编辑文件

/etc/init.d/crond restart

crontab -e

输入 命令
eg:
1.0 */2 * * * /sbin/service httpd restart
意思是每两小时重启一次apache

2.50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务

3.50 22 * * * /sbin/service sshd stop 每天22:50关闭ssh服务

4.0 0 1,15 * * fsck /home 每月1号和15号检查/home磁盘

5.1 * * * * /home/bruce/backup 每小时执行一次/home/bruce/backup这个文件

6.00 03 * * 1-5 find /home "*.xxx" -mtime+4 -exec rm {} /;
每周一至周五3点钟,在目录/home中 查找文件名为*.xxx的文件,并删除4天前的文件

7.30 6 */10 * * ls
每月的1、11、21、31日时的6:30执行一次ls命令

8.时刻表的格式
f1 f2 f3 f4 f5 program
f1分钟 f2小时 f3一个月份中的第几日 f4月份 f5一个星期中的第几天
program为执行的程序

9.f1 =* 表示每分钟都要执行program
f2=* 表示每小时都要执行程序

10.f1=a-b 从第a分钟到第b分钟时间段都在执行

11.f1=*/n 每隔n分钟执行程序

12.f4=jan-febf5=mon-wed

13.M H D m d cmd

14.d 0-6 0:星期天

默认输出在 /var/spool/mail/cloud(username) 里面

可以在命令里面改变重定向 输出到某个文件
例如:
*/1 * * * * date >> ~/date_result
可以每分钟的结果打印在date_result文件中,>>的意思是新的结果放在最下面补上
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: