Linux基础命令之计划任务(linux计划任务创建命令)

Linux基础命令之计划任务(linux计划任务创建命令)

编程文章jaq1232025-02-01 15:49:3744A+A-

一、计划任务

1、at 只能执行一次

语法: at 时间

服务:atd 必须开启

1
2
3
[root@xuegod163 ~]# /etc/init.d/atd status #查看服务状态
atd (pid 2206) is running...
[root@xuegod163 ~]# /etc/init.d/atd start #启动服务

【例】

1
2
[root@xuegod163 ~]#at 20:00 2015-2-23 #创建计划任务在2015年2年23日20:00执行
[root@xuegod163 ~]#at now +10min #创建计划任务在十分钟后执行

1.1 at查询

1
2
3
4
5
6
7
[root@xuegod163 ~]# at -l #查询当前的计划任务
32015-02-03 20:55 a root
22015-02-23 20:00 a root
[root@xuegod163 ~]# ll /var/spool/at/*
-rwx------ 1 root root 3842 Feb 3 20:45 /var/spool/at/a00002016a5170
-rwx------ 1 root root 3842 Feb 3 20:45 /var/spool/at/a000030169e127
PS:执行成功的at计划任务会在该目录下成生一个可执行的脚本文件

1.2 at任务删除

语法:atrm at序列号

1
[root@xuegod163 ~]# atrm 2

2、Crond周期性计划任务

2.1 配置文件

1
[root@xuegod163 ~]# vim /etc/crontab

2.2 开启服务

1
2
3
4
5
6
7
8
9
[root@xuegod163 ~]# /etc/init.d/crond status #查看服务状态
crond (pid 2195) is running...
[root@xuegod163 ~]# chkconfig --list crond #查看是否开机启动
crond 0:off1:off2:on3:on4:on5:on6:off
[root@xuegod163 ~]# chkconfig crond on #设置服务开机自启动
[root@xuegod163 ~]#ls /etc/cron*
/etc/cron.hourly /etc/cron.daily /etc/cron.weekly /etc/cron.monthly
PS:对于系统级别的计划任务,需要执行的命令和脚本都放在这里

2.3 针对用户级别的计划任务

对于root用户:

crontab –e #创建

crontab –l #显示

crontab –r #删除

格式:分 时 日 月 周 命令

取值范围:

分:0-59

小时:0-23

日:1-31

月:1-12

周:0-7 (0 和7 都是周日)

2.4 crontab的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@xuegod163 ~]# crontab -e
57 20 * * * echo `date` > /tmp/date.txt
[root@xuegod163 ~]# date #查询当前时间
Tue Feb 3 20:57:11 CST 2015
[root@xuegod163 ~]# cat /tmp/date.txt
Tue Feb 3 20:57:01 CST 2015
【例】 特殊写法
#每月9,18,22日的3点1分,开始执行备份脚本
1 3 9,18,22 * * /usr/bin/back.sh
#每月9-18日,3:00执行
0 3 9-18 * * /usr/bin/back.sh
#每5分钟,执行一次
*/5 * * * * /usr/bin/back.sh
【例】 每天删除5天前的文件
[root@xuegod163 ~]# crontab -e
1 1 * * * find /home/log/ -type f -mtime +5 -exec rm {} \;
【例】 使用root身份,给其它普通用户指定crontab
语法:crontab -u USERNAME -e/-l/-r
[root@xuegod63 ~]# crontab -u mk -e
1 * * * * touch /tmp/a.txt
【例】 清除其他用户的计划任务
[root@xuegod63 ~]# crontab -u mk -r
【例】 清空root用户自己的计划任务:
[root@xuegod63 ~]# crontab -r

2.5 anacron

cron用控制循环执行例行性工作。如果我要设定机器每天早上8点进行备份服务。除非保证机器在8点这个时间点不会关机,如果关机了,cron中的脚本,在下次开机将不会被执行。

anacron并没有取代cron的意思,anacron用于机器重启后,会侦测停机期间,有没有cron没有执行的计划任务,如果有,会立即执行一下没有执行的任务。

点击这里复制本文地址 以上内容由jaq123整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

苍茫编程网 © All Rights Reserved.  蜀ICP备2024111239号-21