如何设置linux的计划任务(Linux下的计划任务)
一、at定制单次执行的计划任务,at只能执行一次
1、查询这个服务由哪个软件包安装的
[root@zlf ~]# rpm -qf `which atd`
at-3.1.10-48.el6.x86_64
[root@zlf ~]# service atd start #启动计划任务
Starting atd: [ OK ]
[root@zlf ~]# date #查询当前时间(可以用ntpdate进行时间同步)
Wed Oct 19 16:47:02 CST 2016
2、语法
at 时间
例一:
[root@zlf ~]# at 16:53 #在今天16:53制定一个计划任务
at> echo a > /root/a.txt #在a.txt里面写入a
at> <EOT> #ctrl d结束
job 3 at 2016-10-19 16:53
[root@zlf ~]# at –l #查看计划任务
3 2016-10-19 16:53 a root#3表示计划任务号
[root@zlf ~]# cat a.txt #查看结果
a
You have mail in /var/spool/mail/root
例二:
[root@zlf ~]# at 15:20 2016-10-20#指定时间为明天下午三点
at> echo aaa > /root/b.txt
at> <EOT>
job 4 at 2016-10-20 15:20
例三:
[root@zlf ~]# at now 10min#当前时刻加十分钟后执行
at> echo ccc > /root/c.txt
at> <EOT>
job 5 at 2016-10-19 17:08
[root@zlf ~]# at –l#查看计划任务
4 2016-10-20 15:20 a root
5 2016-10-19 17:08 a root
3、查看计划任务的所在目录
[root@zlf ~]# ll /var/spool/at/*#
-rwx------ 1 root root 2402 Oct 19 16:56 /var/spool/at/a0000401779b78
-rwx------ 1 root root 2401 Oct 19 16:58 /var/spool/at/a0000501779644
/var/spool/at/spool:
total 0
4、删除计划任务 atrm 任务号
[root@zlf ~]# atrm 4
[root@zlf ~]# at -l
5 2016-10-19 17:08 a root
二、周期性的计划任务crontab
1、查看计划任务的软件包
[root@zlf ~]# rpm -qf `which crontab`
cronie-1.4.4-7.el6.x86_64
2、配置文件
注:* * * * *
分 时 日 月 星
对于root用户:
命令:
#crontab –e创建一个计划任务
#crontab –l显示
#crontab –r删除计划任务
#crontab –e #写法
分 时 日 月 星 谁做后面的事情 命令
每个取值范围:
分:0-59
小时:0-23
日:1-31
月:1-12
周:0-7 0 7 都是周日
3、默认是开启的,查看系统的计划任务
[root@zlf ~]# ll /etc/cron.
cron.d/ cron.daily/ cron.deny cron.hourly/ cron.monthly/ cron.weekly/
[root@zlf ~]# service crond restart#默认是开启的
Stopping crond: [ OK ]
Starting crond: [ OK ]
4、创建计划任务
[root@zlf ~]# crontab -e
22 17 * * * echo "hello world" > /root/cron_1.txt
注:17:22执行这个计划 *表示不做限制
[root@zlf ~]# crontab -e
crontab: installing new crontab
查看计划任务和结果
[root@zlf ~]# crontab -l
22 17 * * * echo "hello world" > /root/cron_1.txt
[root@zlf ~]# cat /root/cron_1.txt
hello world
特殊用法
[root@zlf ~]# crontab -e
1 1 1,3,5,7 * * /root/touch cron_2.txt
注:每个月的1、3、5、7号的凌晨1点1分执行touch命令(一般为备份脚步)
1 1 9-13 * * /root/touch cron_3.txt
注:每月分9到13号的凌晨1点1分执行touch命令
*/10 * * * * /root/touch cron_4.txt
注:每隔十分钟执行命令
5、扩展
使用root身份,给其它普通用户指定crontab:
语法:crontab -u USERNAME -e/-l/-r
[root@zlf ~]# crontab -u zlf -e
no crontab for zlf - using an empty one
1 1 * * 1 echo "Today is monday" > /root/cron_5.txt
注:每周一的1点1分执行echo命令(改成shutdown更好)
[root@zlf ~]# crontab -u zlf –l#查看命令
1 1 * * 1 echo "Today is monday" > /root/cron_5.txt
[root@zlf ~]# crontab -u zlf –r#删除计划任务
[root@zlf ~]# crontab -u zlf -l
no crontab for zlf
*****************************
**当才华撑不起野心的时候**
****就静下心来学习吧!*****
*****************************
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com