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

【Linux学习笔记二十四】管理计划任务crontab

2013-05-22 11:33 591 查看
crontab命令可以设置周期性任务,启用周期性任务时所对应的系统服务为crond(查看服务状态/启动/停止/重启:service crond status/start/stop/restart)
设置用户的周期性计划任务通过crontab命令进行,执行该命令会生成一个以用户名命名的配置文件,并自动保存在/var/spool/cron目录中

编辑计划任务:crontab -e
打开计划任务编辑界面(与vim中的操作相同)后通过该界面用户可以自行添加具体的任务配置,每行代表一个记录,每个记录包括6个字段,其格式为



crontab任务配置记录中,所设置的命令在“分钟+小时+日期+月份+星期”都满足的条件下才会运行
在计划任务配置记录中的命令建议使用绝对路径,以避免因缺少执行路径而无法执行命令的情况。关于命令的绝对路径,可以使用which命令查找确认。





注意,在设置非每分钟都执行的任务时,“分钟”字段也应该填写一个具体的时间数值(如“0”),而不要保留为默认的“*”,否则将会在每分钟执行一次计划任务

例:以root用户的身份设置一份计划任务列表,完成如下任务:
每天7:50自动开启sshd服务,22:50关闭sshd服务。
每隔5天清空一次FTP服务器公共目录“/var/ftp/pub”中的数据。
每周六的7:30重新启动系统中的httpd服务。
每周一、周三、周五的下午17:30,使用tar命令自动备份“/etc/httpd”目录。
[root@localhost ~]# crontab -e
50 7 * * * /sbin/service sshd start
50 22 * * * /sbin/service sshd stop
0 * */5 * * /bin/rm -rf /var/ftp/pub/*
30 7 * * 6 /sbin/service httpd restart
30 17 * * 1,3,5 /bin/tar zcvf httpd.tar.gz /etc/httpd

指定用户执行计划任务:crontab -e -u username

例:为jerry用户设置计划任务,在每周日晚上的23:55将“/etc/passwd”文件的内容复制到主目
录中,保存为“pwd.txt”文件。
[root@localhost ~]# crontab -e -u jerry55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt

查看指定用户计划任务列表:crontab -l [-u username](不指定用户默认为当前用户)
例:查看root用户的计划任务列表:
[root@localhost ~]# crontab -l
50 7 * * * /sbin/service sshd start
50 22 * * * /sbin/service sshd stop
0 * */5 * * /bin/rm -rf /var/ftp/pub/*
30 7 * * 6 /sbin/service httpd restart
30 17 * * 1,3,5 /bin/tar zcvf httpd.tar.gz /etc/httpd
查看用户jerry的计划任务列表:
[root@localhost ~]# crontab -l -u jerry
55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt

删除用户计划任务列表:crontab -r [-u username](不指定用户默认为当前用户)
例:删除jerry用户的计划任务列表。
[root@localhost ~]# crontab -r -u jerry
[root@localhost ~]# crontab -l -u jerry
no crontab for jerry


本文出自 “水滴石穿” 博客,请务必保留此出处http://pengyl.blog.51cto.com/5591604/1206608
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: