有时候我们需要删除服务器上一些多余的日志文件,使用linux的命令
首先要知道linux删除命令如何写
find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} \ ;#正号为一天前,负号为一天以内
find /root/log/ -mtime +1 -name "*.log" -exec rm -rf {
} \;
#含义将/root/log/目录下所有1天前带".log"的文件删除
上面的为手工敲命令,将命令写入sh文件
第一步
touch /root/delete_one_day.sh#创建文件,
chmod +x delete_one_day.sh#赋予可执行权限
第二步
vim delete_one_day.sh
#!/bin/sh
find /root/log/ -mtime +1 -name "*.log" -exec rm -rf {
} \;
保存退出(:wq)
计划任务
crontab -e
*/5 * * * * sh /root/delete_one_day.sh#每五分钟执行这个.sh文件
场景应用
监控root 目录下有一个py程序,如果程序由于某种特殊原因突然挂掉,请将其重启。
思路:
通过找到改程序的进程,可以判断是否挂掉ps -ef |grep xx.py |grep -v “grep” |wc -l
结果为1则程序正常,否则程序已经终止
第一步:编写monitor.sh文件
#!/bin/sh
count=`ps -ef |grep xx.py |grep -v "grep" |wc -l`
echo $count
if [ 0 == $count ];then
nohup python /xx/xx.py > /xx/xx.log 2>&1 &
echo $count
fi
第二步,设置定时任务
crontab -e
分 时 日 月 周
-
-
-
-
- sh /monitor.sh 表示每分钟执行一次monitor.sh这个脚本
-
-
-