【1】 创建计划任务
service atd start
at now +1hours
at> shutdow
at> updatedb
at> <Ctrl+D>
【2】 一次性计划任务存放在
/var/spool/at
删除后取消
【3】 用命令取消计划任务
atq 查看当前设置计划任务列表
atrm 3 删除计划任务
at -c 4 查看编号为4的计划任务详情
atrun 手动运行未执行的计划任务
【4】at的控制方法
/etc/at.allow 允许用户
/etc/at.deny 禁止用户设置计划任务
两个文件不能控制root用户
若 at.allow 和 at.deny 都不存在 只有管理员可用计划任务
若 两个文件都存在 只看 a.allow
默认情况下 只有at.deny 存在
例:echo xing >> /etc/at.deny 用户xing不能使用计划任务了
【5】 个人周期性计划任务的定制
依赖 crond 服务
存放在 /var/spool/cron下
crontab -e -u xing 为用户xing 编辑周期性计划任务
41 10 * * * /bin/touch /home/xing/xing.txt 每天10:41 创建文件
crontab -e 编辑计划任务
crontab -l 查看计划任务
crontab -r 删除计划任务
每天晚上备份 /etc/httpd/logs/access_log
1】创建一个备份脚本 tar.sh
touch /etc/httpd/logs/tar.sh
2】 将备份命令写入备份脚本
echo "tar -zcvf /bak/access_logs_`date +%y%m%d`.tar.gz /etc/httpd/logs/access_log &> /dev/null" >> /etc/httpd/logs/tar.sh
3】 创建周期性计划任务
crontab -e
59 23 * * * /bin/sh /etc/httpd/logs/tar.sh
4】 完成
【6】 编辑/etc/crontab定制系统计划任务
依赖 crond 服务
配置文件是 /etc/crontab 与个人的crontab文件格式不同
系统会自动执行以下目录内的脚本
/etc/cron.hourly 每小时的零一分
/etc/cron.daily 每天四点零二分
/etc/cron.weekly 每周日四点二十二分
/etc/cron.monthly 每月一日四点四十二分
例题:
定期查找指定目录的空文件,找到后删除
find . -size 0 -exec rm {} \;
或
find . -empty -exec rm {} \;
定期查找指定目录下的隐藏文件,找到后删除
find /root/ceshi -name ".*" -exec rm {} \;
定期查找指定目录下的权限为777的文件,找到后删除
find . -perm 777 -exec rm {} \;
步骤
1】 mkdir /etc/cron.mysh 创建自己的脚本执行目录
2】 touch /etc/cron.mysh/tmp_del.sh 创建执行脚本
3】 编辑 tmp_del.sh
find /tmp -szie 0 -exec rm {} \;
find /tmp -name ".*" -exec rm {} \;
find /tmp -perm 777 -exec rm {} \;
4】 编辑 /etc/crontab 配置文件 加入
59 19 * * 0 root run-parts /etc/cron.mysh
每周周日17:59 执行/etc/cron.mysh下的脚本
5】 编辑 /etc/anacrontab 文件 计划任务守护 即执行未执行的计划任务
7 80 cron.mysh run-parts /etc/cron.mysh