一 : Linux计划任务Crontab学习笔记(3):配置文件
【全局(系统)配置文件】
/etc/crontab
cd /etc
ls cron*
vim crontab
进入 cron.d(服务)
cd cron.d
cat sysstat
会发现,查看的内容和 crontab -l 时的内容很相似
在 crontab 载入配置文件的时候,会把 cron.d 下面的文件里面的配置信息载入成为 root 用户的计划任务,如果用 crontab -e 命令去编辑它的时候,实际上会破坏它原始文件配置的内容,,所以一般情况下是不愿意使用 crontab -e 的。如果直接编辑文件:vim sysstat,此时再使用 crontab -l,会发现编辑文件不会被直接载入(crontab -l 查看的内容不会改变),可以通过 crontab sysstat 的方式(crontab 后面跟一个文件的方式)把文件载入,然后再使用 crontab -l 查看,此时文件里面的内容覆盖了原来 crontab -l 里面所有的东西,所以在用 crontab 后面跟一个文件这种形式导入的时候要非常小心,因为 crontab -e 里面的内容都会被文件复写。要使一个计划任务不会被丢失,通常情况下不是使用 crontab -e,而是在一个文件中去添加,然后再载入,这样系统重启的时候,这些文件也会被自动载入到计划任务列表中,注意这种方式是以 root 用户的方式载入的。
在使用 ls cron* 的命令时,会有个一 cron.d 的目录,这是配置文件的目录。它下面的 sysstat 和 etc 目录下的 crontab 文件是很类似的,
contab 不能编辑系统级的配置文件里面的计划任务(例如在 cron.d 下新建计划任务文件 crontst,里面写入 */1 * * * * dee echo "File in /ect/cron.d/crontst****",然后:wq!保存退出,这时可以使用 tail -f /var/log/cron 进行监视,可以发现这条计划任务的执行情况,但是使用 crontab -l 或者 crontab -e 就不能列出这条计划任务了)。
【补充】
先使用
crontab -l
cat /var/spool/cron/root
实际上 crontab 操作的时候,操作的是 /var/spool/cron/root 这个文件。
可以使用
ls /var/spool/cron/root
【Root 配置文件】
只有 Root 用户才会把这些内容载入到计划任务表中
二 : Linux计划任务Crontab学习笔记(2):基本组成与配置
【Crontab 的基本组成】
① 系统服务 CROND:每分钟都会从配置文件刷新定时任务
② 配置文件 :文件方式设置定时任务
③ 配置工具 crontab:用途调整定时任务
【配置文件的配置文件格式】
* * * * * COMMAND
第一个 * :分钟 0 - 59,* 表示每分钟都要执行
第二个 * :小时 0 - 23
第三个 * :日期 1 - 31
第四个 * :月份 1 - 12
第五个 * :星期 0 - 7(0 或 7 表示星期天)
【例1】每晚的 21:30 重启 Apache
30 21 * * * service httpd restart
【例2】每月的 1、10、22 日的 4:45 重启 Apache
45 4 1,10,22 * * service httpd restart
【例3】每月 1 到 10 日的 4:45 重启 Apache
45 4 1-10 * * service httpd restart
【例4】每隔两分钟( 前面没有条件 ) 重启 Apache
*/2 * * * * service httpd restart
1-59/2 * * * * service httpd restart
1 分钟时开始重启
(偶数是0-58/2)
【例6】晚上11 点到早上 7 点之间,每隔 1 小时(前面有条件) 重启 Apache
0 23-7/1 * * * service httpd restart
【例7】每天 18:00 至 23:00 之间 每隔 30 分钟(前面有条件) 重启 Apache
0,30 18-23 * * * service httpd restart
0-59/30 18-23 * * * service httpd restart
【小结】
① * 表示任何时候都匹配
② 可以用 "A,B,C" 表示 A 或者 B 或者 C 时执行命令
③ 可以用 "A-B" 表示 A 到 B 之间时执行命令
④ 可以用 "*/A" 表示每 A 分钟(小时等)执行一次命令
【crontab 工具的使用】
crontab 帮助信息
crontab --h
crontab --help
① 查看某用户(dee)的计划任务列表
crontab -l -u dee
② 修改某用户(dee)的计划任务
crontab -e -u dee
③ 查看生成的最终计划任务文件
- /var/spool/cron
使用
tail -f /var/log/cron
三 : Linux计划任务Crontab学习笔记(4):crontab 的日志
/var/log/cron 文件保存 cron 的任务执行记录
cd /var/log/
ls -l cron*
使用
tail -f cron
使用
cat /etc/crontab
MAILTO=root 表示在执行某一个 crontab 命令或者任务的时候,都会生成一个记录信息发送给 root 用户
查看 root 的 mail
[root@localhost cron]# cd /var/spool/mail
[root@localhost mail]# pwd
/var/spool/mail
[root@localhost mail]# ls
dee emperor mysql root rpc
[root@localhost mail]# tail -100 root
此处能够看到一定的 cron 相关的命令。主要是日志还是在 /var/log/cron 下。
四 : Linux计划任务Crontab学习笔记(5):常见错误使用案例
① 环境变量
cd ~
pwd
ls -a
能够查看到 .bash_profile 这个文件
vim .bash_profile
这里面设置了一些环境变量。
可以设置一个新的环境变量,在文件末尾加上:
APPDIR=/etc
export APPDIR
source .bash_profile
echo $APPDIR
如果在计划任务中使用到了全局变量,例如
crontab -e
*/1 * * * * echo $APPDIR >> /tmp/appdir.log
tail -f /tmp/appdir.log
$APPDIR 根本没有被识别。
原因是在 .bash_profile 设置的环境变量没有被 crontab 识别,因此要注意。
② 命令行双引号中使用 % 时,未加反斜线
③ 第三和第五个域之间执行的是 "或" 操作
第三个域是某个月中的天,第五个域是某个月中的星期几,例如:四月的第一个星期日早晨 1 时 59 分运行 a.sh
59 1 1-7 4 * test `date +%w` -eq 0 && /root/a.sh
test 表示判断是否成功
&& 表示当 前面的 test 成功时执行
【补充】
echo $?
④ 分钟设置误用
【两小时运行一次】
正确的写法
0 */2 * * * date
1-20/2 * * * * COMMAND
============
【综合案例】
【例1】Crontab 中最小只能设置到每分钟执行一个命令,如果想每半分钟执行某个命令怎么做到?
——通过 shell 脚本的 sleep 命令配合 Crontab 即可完成这一功能
date && sleep 0.5s && date
该例表示先执行 date,过了0.5s 之后再执行 date
【例2】
crontab -e</p> <p>*/1 * * * * date >> /tmp/date.log
*/1 * * * * seep 30s;date >> /tmp/date.log
第二个命令,执行的时候,先等妨碍 30s ,再去执行
使用下面的命令可以查看写入的时间
tail -f /tmp/date.log
五 : linux怎么用at命令编写简单的计划任务?
如果想在linux下计划在将来的某个时刻执行某些命令,可以通过atd服务实现此功能。默认情况下所有的linux系统都提供此项功能。
1、使用linux 的atd服务之前首先确认atd服务是否开启,可以通过“/etc/init.d/atd status”命令查看服务的运行状态。
2、使用命令“at now+2 minutes”命令编写一个两分钟之后要执行的命令。比如2分钟之后执行查看系统当前时间命令。
3、at计划任务的时间格式可以分为“具体时间日期格式【04:00 2014-01-18】”、“模糊词语格式【midnight、noon、teatime】”、“相对计时法【now + 多少+时间单位】”
4、使用atq可以查询到已添加的at计划任务。
5、使用atrm命令可以将已添加的未执行计划任务删除,格式为“atrm 任务号”比如:“atrm 4”。
6、可以通过在/etc/at.deny和at.allow里边配置那个用户可以使用at命令。
本文标题:linux计划任务-Linux计划任务Crontab学习笔记(3):配置文件61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1