栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux系统定时清理脚本 | crontab | 定时打包清理

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux系统定时清理脚本 | crontab | 定时打包清理

目的

定时19点清理两日前的文件

方法一:

利用crontab定时清理日志

#crontab -e 打开调度任务计划
将auto-del-2-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行:

crontab
0 19 * * * /export/crontab_sh/auto-del-2-days-ago-log.sh

auto-del-2-days-ago-log.sh如下:

#!/bin/sh
RemoveDir =/home/data_dir
find $RemoveDir -mtime +2 -name "*.log" -exec rm -rf{} ;

其中

#*.log" 所查文件类型
#-exec:执行;
#rm -rf:强制删除所有文件;
#{} ; :固定写法,一对大括号+空格++; 

备注:

crontab命令:
crontab -e:编辑当前用户的定时任务
            1) 编辑添加定时任务:10,54 * * * * /home/tomcat/apache-tomcat-8.0.52/cleanlog.sh
               (crontab实例说明请参考下文)    定时执行的脚本文件的位置
            2)添加好后,按ESC,输入":wq"存盘退出;
            3)需要重新启动 crontab让定时任务生效, 命令: service crond restart
 
crontab -l:查看当前用户的定时任务,出现以下目录说明定时任务已经添加成功
            10,54 * * * * /home/tomcat/apache-tomcat-8.0.52/cleanlog.sh
crontab -r:删除当前用户的定时任务
            ==> 从/var/spool/cron目录中删除用户的crontab文件 
            ==> 如果不指定用户,则默认删除当前用户的crontab文件 crontab –i 在删除用户的crontab文件时给确认提示

附菜鸟教程的Linux crontab命令

方法二:
#!/bin/sh
RemoveDir =/home/data_dir
dt=`date +%y%m%d -d "2 days ago"`;
dt1=`date +%y%m%d -d "3 days ago"`;

for subdir1 in `ls $Removedir`;
	do
		if [ "${subdir1}" < "${dt1}"];
		then
		rm -rf $RemoveDir/$subdir1
		echo `date`"the directory $RemoveDir/$subdir1 has been removed." >>/home/data_dir/CleanUp.log 2>&1
		fi
	done

for subdir in `ls $Removedir`;
	do
		if [ "${subdir}" < "${dt}"];
		then
		gzip -f $RemoveDir/$subdir/*.txt
		rm -rf $RemoveDir/$subdir/*.txt
		gzip -f $RemoveDir/$subdir/*.dat
		rm -rf $RemoveDir/$subdir/*.dat	
		echo `date`"the directory $RemoveDir/$subdir has been compressed and removed." >>/home/data_dir/CleanUp.log 2>&1
		fi
	done

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914080.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号