crontab相关问题

crontab常用命令:

systemctl start crond
systemctl enable crond
crontab -u hr       #指定hr用户的cron服务
crontab -l          #列出当前用户下的cron服务的详细内容
crontab -u mk -l   #列出指定用户mk下的cron服务的详细内容
crontab -r   #删除cron服务
crontab -e   #编辑cron服务

例子:

常见写法:
每天晚上21:00 重启apache
			0 21 * * * /etc/init.d/httpd  restart
每月1、10、22日的4 : 45重启apache。
			45 4 1,10,22 * *  /etc/init.d/httpd  restart
每月1到10日的4 : 45重启apache。
			45 4 1-10 * *   /etc/init.d/httpd  restart
每隔两天的上午8点到11点的第3和第15分钟重启apach
			3,15 8-11 */2 * *  /etc/init.d/httpd  restart
晚上11点到早上7点之间,每隔一小时重启apach
			0 23-7/1 * * * /etc/init.d/apach restart
周一到周五每天晚上 21:15 寄一封信给 root@panda:
			15 21 * * 1-5  mail -s "hi" root@panda < /etc/fstab
互动:crontab不支持每秒。 每2秒执行一次脚本,怎么写?
在脚本的死循环中,添加命令 sleep 2 ,执行30次自动退出,然后添加,计划任务:
			* * * * *  /back.sh 
	案例要求:
每天2:00备份/etc/目录到/tmp/backup下面
将备份命令写入一个脚本中
每天备份文件名要求格式: 2017-08-19_etc.tar.gz
在执行计划任务时,不要输出任务信息
存放备份内容的目录要求只保留三天的数据
====================================================
mkdir /tmp/backup
tar zcf etc.tar.gz /etc
find /tmp/backup -name “*.tar.gz” -mtime +3 -exec rm -rf {}\;
============================================================
[root@xuegod63 ~]# crontab -l
13 21 * * * echo "xuegod1707" > /tmp/a.txt
0 22 * * * /root/backup.sh  & > /dev/null
[root@xuegod63 ~]# cat backup.sh 
#!/bin/bash
find /tmp/backup -name "*.tar.gz" -mtime +3 -exec rm -f {}\;
#find /tmp/backup -name "*.tar.gz" -mtime +3 -delete
#find /tmp/backup -name "*.tar.gz" -mtime +3 |xargs rm -f
tar zcf /tmp/backup/`date +%F`_etc.tar.gz /etc
注:工作中备份的文件不要放到/tmp,因为过一段时间,系统会清空备/tmp目录

一.文件位置

位置一般在/var/spool/cron/下,如果你是root用户,那下面有个root文件,建议日常备份,避免误删除导致crontab 文件丢失;

二.日志文件位置

默认情况下,crontab中执行的日志写在/var/log下,如:

#ls /var/log/cron*
欢迎访问本网站!
雨木霜月 » crontab相关问题

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据