有時候我們需要刪除服務器上一些多餘的日誌文件,使用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這個腳本
-
-
-