首页 > 代码库 > Linux之计划任务

Linux之计划任务

1 at:一次性任务配置,其任务只能在指定的时间执行一次,前提是atd服务开启。

[root@localhost ~]# at 17:45 2017-05-30                    #设置任务

at> ls / > a.txt

at> <EOT>

job 3 at 2017-05-30 17:45


[root@localhost ~]# atq                                    #查看一次性任务

3 2017-05-30 17:45 a root


[root@localhost ~]# atrm 3                                 #删除任务


2 crontab:周期性任务配置,大大减轻了重复性系统管理任务的操作。对应的系统服务为crond。

2.1 crontab的配置文件和目录

/etc/crontab——系统任务配置文件,系统安装时自动设置,不建议修改。文件中设置了shell环境、可执行路径等变量操作。

/var/spool/cron/——用户计划任务的配置文件存放目录,文件名与用户相同。

[root@localhost cron]# ls -l /var/spool/cron/*

-rw-------. 1 root root 21 Apr 18 17:28 /var/spool/cron/zwj


2.2 使用crontab创建和管理计划任务

选项:-e    编辑计划任务列表

      -u    指定任务计划属于哪个用户,通常是root用户编辑、删除其它用户的计划任务

      -l    显示计划任务列表

      -r    删除计划任务列表

[root@localhost cron]# crontab -e -u zwj                    #为用户zwj建立任务计划

*/2 * * * * /bin/ls / > /home/zwj/a.txt


[root@localhost cron]# crontab -l -u zwj                    #查看用户zwj的任务计划

[root@localhost cron]# crontab -l                           #查看当前用户的任务计划

no crontab for root


[root@localhost cron]# crontab -r                           #清除当前用户的所有计划任务

[root@localhost cron]# crontab -l -u zwj                    #清除zwj的计划任务,需root权限

附:计划任务的格式示例

基本格式 :
*  *  *  *  *  command
分  时  日  月  周  命令 

-:表示连续的时间范围,如“1-4”,表示 1,2,3,4

,:表示不连续范围,如“1,5,8”

/ :表示间隔频率,如日期段中的“*/3",表示每3天。

30 7 * * * /sbin/service sshd start                        #每天7:30启动sshd服务

0 0 */5 * * /bin/rm -rf /var/ftp/pub/*                     #每隔5天清空ftp公共目录

0 1 5,15 * * /sbin/service httpd restart                   #每月5号和15号1点重启httpd服务

0 1 5-15 * * /bin/rm -rf /var/ftp/pub/*                    #每月5到15号1点清空ftp公共目录

0 1 * * 6,7 /script/a.sh                                   #每周六、日凌晨1点执行脚本

0 1-7/1 * * * /script/a.sh                                 #每天1点到7点之间,每隔1小时执行脚本


本文出自 “一万年太久,只争朝夕” 博客,请务必保留此出处http://zengwj1949.blog.51cto.com/10747365/1917134

Linux之计划任务