yae*_*ael 5 rhel directory find rm abrt
我们希望自动化从/var/spool/abrt/
.
我们有 RHEL 机器 - 版本 7.x。
已知的方法是执行以下操作
# systemctl stop abrtd
# systemctl stop abrt-oops
Run Code Online (Sandbox Code Playgroud)
我们可以使用以下 rm 命令删除所有这些目录和文件:
# abrt-cli rm /var/spool/abrt/*
Run Code Online (Sandbox Code Playgroud)
然后启动服务
# systemctl start abrtd
# systemctl start abrt-oops
Run Code Online (Sandbox Code Playgroud)
我们希望将删除过程简化如下——它将删除超过 10 天的目录 /var/spool/abrt/
find /var/spool/abrt/ -type d -ctime +10 -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
清除/var/spool/abrt/
目录是一个不错的选择吗?
这是我的建议:
1)创建shell脚本/home/yael/purgeabrt.sh
$ cat purgeabrt.sh
#!/bin/bash
set -e
function cleanup()
{
systemctl start abrtd
systemctl start abrt-oops
}
trap cleanup EXIT
systemctl stop abrtd
systemctl stop abrt-oops
find /var/spool/abrt/ -type d -ctime +10 -exec abrt-cli rm {} \;
cleanup
Run Code Online (Sandbox Code Playgroud)
2)以root身份运行脚本:
sudo crontab -e
Run Code Online (Sandbox Code Playgroud)
添加行:
*/5 * * * * bash /home/yael/purgeabrt.sh
Run Code Online (Sandbox Code Playgroud)
为了cron
每 5 分钟执行一次作业。
编辑:
set -e
如果命令以非零状态退出,将终止脚本的执行。
trap cleanup EXIT
将捕获可能抛出到脚本的信号并执行清理代码。
注意:脚本最后一行中的调用cleanup
可能是不必要的(多余的),但可以提高代码的可读性。
归档时间: |
|
查看次数: |
6272 次 |
最近记录: |