day 11
day 11
复习
使用crontab -e 编辑用户的定时任务
1.进入编辑模式 crontab -e 2.列表显示用户的定时任务crontab -l 3.删除用户的定时任务 crontab -r
案例
1.时间同步
1.先检查是否安装 ntpdate
使用命令 whichntpdate
安装ntpdate yum -y install ntpdate
2.路径设置 现寻找路径 使用命令
which ntpdate
有两种方法
1.使用全路径的方法
PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'
* * * * * ntpdate ntp1.aliyun.com
2.使用部分路径的方法
-
-
-
-
- /usr/sbin/ntpdate ntp1.aliyun.com
3.使用 date 命令查看时间是否正常
2.案例: 定时任务 每分钟执行一次 测试 OK 修改为 每天凌晨12点执行一次
1.先安装 ifconfig eth0 包
2.获取到自己的ip地址
方法一·
ifconfig eth0|sed 'NR==2{print $2}'
方法二
ifconfig eth0|sed -nr '2s#(^.inet)(.)( netm.*$)#\2#gp'
方法三
ifconfig eth0|egrep '[0-9]{2}+.[0-9]{1}.[0-9]{1}.[0-9]{3}' -o|sed -n 1p
3.定义变量
1.定义ip变量
IP =ifconfig eth0|awk'NR==2{print $2}'
TIME =date +%F-%H-%M-%S
4.打包
tar zcvf /root/$IP/${TIME}_etc.tar.gz
5.把步骤写入到shell脚本 使用固定目录
先创建目录 mkdir /server/scripts -p
cd /server/scripts -p
进入编辑模式 vim tar.sh
编辑模式的内容
###获取ip地址,并创建目录
IP=ifconfig eth0|awk 'NR==2{print $2}'
TIME=date +%F-%H-%M-%S
- /usr/sbin/ntpdate ntp1.aliyun.com
-
-
-
创建以ip地址为名字的文件夹
mkdir /root/$IP
打包
cd /etc
tar zcf /root/$IP/${TIME}_etc.tar.gz hosts passwd
将之前的删除 rm -f /root/10.0.0.200/ -r
运行
sh.tar.sh
查看
ll /root
测试 写入定时任务
crontab -e
运行路径
which ifconfig
写入内容
PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'
* * * * * sh /server/scripts/tar.sh
查看
查看记录 crontab -l
查看脚本的执行情况
sh -x tar.sh
cat /server/scripts/tar.sh
补充
[ -d /etc ] && echo "目录存在" || echo "目录不存在"
知识点补充
1.* 每的意思
*/n 间隔时间
-
区间
, 分隔
定时任务规范
01.定时任务规则之前加注释
02.使用脚本替代命令行定时任务
03.定时任务中date命令%百分号
04.运行脚本一定要用/bin/sh或sh
05.定时任务中-命令或脚本结果(正确及错误)定向到黑洞(>/dev/null 2>&1)或追加到文件中 >>/tmp/oldboy.txt 2>&1
06.避免不必要的程序及命令输出
07.打包压缩使用相对路径(切到目标目录的上一级打包目标)
08.定时任务脚本中的程序文件 ,尽量用绝对路径
前提是没有定义PATH变量
09.系统与命令位置有关的环境变量问题
-----------------180
11/180
加油 努力