crontab的使用

crontab是用来制定计划任务,在规定的时间运行一些命令

-l 
显示用户的Crontab文件的内容                       crontab –l


-i 
删除用户的Crontab文件前给提示                    crontab -ri 


-r 
从Crontab文件夹中删除用户的Crontab文件     crontab -r 


-e 
编辑用户的Crontab文件                                    crontab -e 


时程表的格式例如以下 : 
f1 f2 f3 f4 f5 program  
  
当中 f1 是表示分钟。f2 表示小时。f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要运行的程序。 
当 f1 为 * 时表示每分钟都要运行 program,f2 为 * 时表示每小时都要运行程序,其馀类推 
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要运行,f2 为 a-b 时表示从第 a 到第 b 小时都要运行。其馀类推 
当 f1 为 */n 时表示每 n 分钟个时间间隔运行一次。f2 为 */n 表示每 n 小时个时间间隔运行一次。其馀类推 
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要运行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要运行。其馀类推 


/etc/crontab存放有系统执行的一些调度程序,使用crontab命令制定的计划任务就是存放在这里。

/etc/cron.deny 表示不能使用crontab 命令的用户
/etc/cron.allow 表示能使用crontab命令的用户

假设两个文件同一时候存在,那么/etc/cron.allow 优先。
假设两个文件都不存在。那么仅仅有超级用户能够安排作业。

cron.monthly
cron.daily

cron.hourly

cron.weekly


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

我们将每天都要运行的脚本文件放到/etc/cron.daily文件夹,这样cron守护进程就会在每天早上的4:02開始运行该文件夹下的全部脚本。


每一个用户都会生成一个自己的crontab 文件。这些文件在/var/spool/cron文件夹下.

 样例:

在 12 月内, 每天的早上 6 点到 12 点中。每隔 20 分钟运行一次 /usr/bin/backup : 
0 6-12/3 * 12 * /usr/bin/backup  
  
周一到周五每天下午 5:00 寄一封信给 alex@domain.name : 
0 17 * * 1-5 mail -s "hi" alex@domain.name  /dev/null 2>&1 就可以 

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 磁盘 
1 * * * * /home/bruce/backup  每小时的第一分运行 /home/bruce/backup这个文件 
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命令


原文地址:https://www.cnblogs.com/jhcelue/p/6920960.html