在遠程運行節點創建一個cleanlog.sh 腳本文件 vin clenalog.sh 插入以下內容 !/bin/env bash start=$(date +%y %m %d %H%M%m) File=/software/dubbo monitor data/cleanlog/clean_log_ ...
在遠程運行節點創建一個cleanlog.sh 腳本文件
vin clenalog.sh 插入以下內容
#!/bin/env bash
start=$(date +%y-%m-%d-%H%M%m)
File=/software/dubbo-monitor-data/cleanlog/clean_log_$start.txt
FilePath=/software/dubbo-monitor-data/statistics
echo $File
if [ ! -n "$1" ];
then
day=7
else
day=$1
fi
#刪除7天之前的文件夾
echo "輸出日誌文件:"
echo "find $FilePah -type d -ctime +$day > $File"
find $FilePath -type d -ctime +$day > $File
echo "刪除日誌文件:"
echo "find $FilePath -type d -ctime +$day | xargs rm -rf"
find $FilePath -type d -ctime +$day | xargs rm -rf
添加定時任務,設置每天凌晨3點遠程執行192.168.1.1節點的腳本清理日誌(192.168.1.1這個IP是我臨時寫的,運行時修改為自己的IP)
0 3 * * * ssh [email protected] "/software/dubbo-monitor-data/cleanlog/cleanlog.sh >/dev/null 2>&1"
我這個定時任務這麼寫是因為環境限制(需要給遠程伺服器添加密鑰驗證,否則無法執行)如果可以建議把定時任務運行在需要清理日誌的伺服器上