Linux⾃动删除n天前⽇志及实例命令
1.删除⽂件命令:
find 对应⽬录 -mtime +天数 -name "⽂件名" -exec rm -rf {} \;
实例命令:
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
说明:
将/opt/soft/log/⽬录下所有30天前带".log"的⽂件删除。具体参数说明如下:
find:linux的查命令,⽤户查指定条件的⽂件;
/opt/soft/log/:想要进⾏清理的任意⽬录;
-mtime:标准语句写法;
+30:查30天前的⽂件,这⾥⽤数字代表天数;
"*.log":希望查的数据类型,"*.jpg"表⽰查扩展名为jpg的所有⽂件,"*"表⽰查所有⽂件,这个可以灵活运⽤,举⼀反三;
-exec:固定写法;
rm -rf:强制删除⽂件,包括⽬录;
{} \; :固定写法,⼀对⼤括号+空格+\+;
2.计划任务:
若嫌每次⼿动执⾏语句太⿇烦,可以将这⼩语句写到⼀个可执⾏shell脚本⽂件中,再设置cron调度执⾏,那就可以让系统⾃动去清理相关⽂件。
2.1创建shell:
touch /opt/soft/bin/auto-del-30-days-ago-log.sh
chmod +x auto-del-30-days-ago-log.sh
新建⼀个可执⾏⽂件auto-del-30-days-ago-log.sh,并分配可运⾏权限
2.2编辑shell脚本:
vi auto-del-30-days-ago-log.sh
编辑auto-del-30-days-ago-log.sh⽂件如下:
#!/bin/sh
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
ok,保存退出(:wq)。
2.3计划任务:
#crontab -e
将auto-del-30-days-ago-log.sh执⾏脚本加⼊到系统计划任务,到点⾃动执⾏
输⼊:
10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1如何在vim中运行命令
这⾥的设置是每天凌晨0点10分执⾏auto-del-7-days-ago-log.sh⽂件进⾏数据清理任务了。
完成以上三步,你就再也不每天惦记是否硬盘空间满了,该清理⽇志⽂件了,再也不会受到服务器硬盘空间不⾜的报警信息了,放⼼的去看书喝咖啡去吧!
每次添加完任务后,⼀定记得重新启动crond服务,不然不会⽣效
代码如下:
service crond restart
创建你的第⼀个Shell脚本
1.写⼀个脚本
a) ⽤touch命令创建⼀个⽂件:touch my_script
b) ⽤vim编辑器打开my_script⽂件:vi my_script
c) ⽤vim编辑器编辑my_script⽂件,内容如下:
#!/bin/bash 告诉shell使⽤什么程序解释脚本
#My first script
ls -l .*
2.允许Shell执⾏它
chmod 755 my_script
3.执⾏my_script脚本
./my_script
总结
以上所述是⼩编给⼤家介绍的Linux⾃动删除n天前⽇志,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论