欢迎来到ArchitecTang的博客

Linux 定时清理日志脚本

在远程运行节点创建一个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 root@192.168.1.1 "/software/dubbo-monitor-data/cleanlog/cleanlog.sh >/dev/null 2>&1"

我这个定时任务这么写是因为环境限制(需要给远程服务器添加密钥验证,否则无法执行)如果可以建议把定时任务运行在需要清理日志的服务器上

posted @ 2018-12-28 14:14  ArchitecTang  阅读(1938)  评论(0编辑  收藏  举报