如何设置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、配置文件

如何设置linux的计划任务(Linux下的计划任务)(1)

注:* * * * *

分 时 日 月 星

对于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

    分享
    投诉
    首页