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、计划任务格式,格式错误会报错,若命令错误了不会报错
3.题目:脚本
每天晚上12点 打包备份/etc/目录到/tmp下面(步骤)
#第1个里程碑-命令行测试 (测试命令是否ok)
#第2个里程碑-书写脚本并测试脚本
#第3个里程碑-写入定时任务 每分钟执行 检查
#第4个里程碑-写入定时任务 根据要求修改时间,解压检查压缩包内容是否完整
步骤一:
tar xf -C 目录 指定解压到指定目录
步骤二:将命令行执行成功的命令复制粘贴到脚本里面并测试
步骤三:写入定时任务里面crontab -e,crontab -l 查看定时任务内容
定时任务里面的脚本必须使用绝对路径,tail -f /var/log/cron 与ls /tmp下面的备份文件时间一样
解压查看内容是否正常
4、sh -x 查看脚本的执行过程,加号越多越优先执行,排查脚本的错误
命令错误
5、定时任务箴言
A. 一定要加上注释内容
B. 书写定时任务的时候。尽量使用脚本
C. 运行脚本使用sh
6、计时任务里面追加:将错误和正确的信息定向到黑洞或者文件,只能2选1,不然系统无法识别执行
7、定时任务所有显示到屏幕的信息都会追加到root的邮箱
如echo {01..100}或者tar时候出现的提示去掉\这些内容不会显示在屏幕,只会发邮件给root邮箱了,并在/var/spool/mail/root里面显示
8、故障案例:会导致inode号满了
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"`