linux下计划任务补充(脚本)

1、 题目
每天晚上09点到12点运行 systemctl restart network 命令

00 21-00 * * *   systmmctl restart network 错误的,因为范围是0-23
00 21-23,00 * * *   systmmctl restart network 对的

每天上午7点到12点每2个小时和晚上22点运行 systemctl restart network 命令

00 07-12/2,22 * * *  systmmctl restart network

2、计划任务格式,格式错误会报错,若命令错误了不会报错
linux下计划任务补充(脚本)
3.题目:脚本
每天晚上12点 打包备份/etc/目录到/tmp下面(步骤)
#第1个里程碑-命令行测试 (测试命令是否ok)

#第2个里程碑-书写脚本并测试脚本

#第3个里程碑-写入定时任务 每分钟执行 检查

#第4个里程碑-写入定时任务 根据要求修改时间,解压检查压缩包内容是否完整
步骤一:
linux下计划任务补充(脚本)
tar xf -C 目录 指定解压到指定目录
步骤二:将命令行执行成功的命令复制粘贴到脚本里面并测试
linux下计划任务补充(脚本)
步骤三:写入定时任务里面crontab -e,crontab -l 查看定时任务内容
linux下计划任务补充(脚本)
定时任务里面的脚本必须使用绝对路径,tail -f /var/log/cron 与ls /tmp下面的备份文件时间一样
linux下计划任务补充(脚本)

解压查看内容是否正常
linux下计划任务补充(脚本)
4、sh -x 查看脚本的执行过程,加号越多越优先执行,排查脚本的错误

linux下计划任务补充(脚本)
命令错误
linux下计划任务补充(脚本)
5、定时任务箴言

A.  一定要加上注释内容
B.  书写定时任务的时候。尽量使用脚本
C.  运行脚本使用sh

6、计时任务里面追加:将错误和正确的信息定向到黑洞或者文件,只能2选1,不然系统无法识别执行
linux下计划任务补充(脚本)
linux下计划任务补充(脚本)
7、定时任务所有显示到屏幕的信息都会追加到root的邮箱
如echo {01..100}或者tar时候出现的提示去掉\这些内容不会显示在屏幕,只会发邮件给root邮箱了,并在/var/spool/mail/root里面显示
linux下计划任务补充(脚本)
linux下计划任务补充(脚本)

8、故障案例:会导致inode号满了
linux下计划任务补充(脚本)

9、终极挑战:
1.每天晚上12点打包备份/etc/目录到/backup/ip地址命名目录 删除7天之前的备份 但是要保留每周1的备份

vim /server/scripts/kobe.sh
#!/bin/bash
dir=`ip a s eth0|awk -F"[ /]+" 'NR==3{print $3}'`
mkdir -p /backup/$dir
tar zcf /backup/$dir-`date +%F-%w`_tar.gz  /etc/
rm -f `find /backup/ -type f -mtime +6 ! -name "*1_tar.gz"`

linux下计划任务补充(脚本)

猜你喜欢

转载自blog.51cto.com/xiyuxingxia/2386331