linux定时任务

 

linux的定时任务分类:

1) at适合执行一次就结束的调度任务。突发性的任务,每天晚上。依赖服务atd

2) anacron 适合于非7*24小时开机的服务器准备的

3) crond Crond服务默认情况(每分钟),检查系统中是否有需要执行的定时任务,如果有就会根据事先定义好的

执行规则定时执行

我们常用到的是crond定时器服务。

 

crontab 命令

如果发现您的系统里没有这个命令,请安装下面两个软件包:vixie-cron   crontabs

常用参数
crontab -l //查看当前用户下的cron任务
crontab -e //编辑当前用户的定时任务
crontab -u linuxso -e //编辑用户linuxso的定时任务
用户的定时任务规则一般分为6段, 基本格式
*  *  *  *  *  command
分  时  日  月  周  命令

具体含义:

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

口诀:分时日月周

 

应用举例

● 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命令

 

 如果你不希望有输出,可以在commod后面追加 >  /dev/null  2>$1

* * * * * commond > /dev/null 2>&1 (将标准输出和标准错误输出到/dev/null)

 

你可能感兴趣的:(linux定时任务)