Rhel
什麼是清除 /var/spool/abrt/ 的正確方法
我們希望自動化從
/var/spool/abrt/
.我們有 RHEL 機器 - 版本 7.x。
已知的方法是執行以下操作
# systemctl stop abrtd # systemctl stop abrt-oops
我們可以使用以下 rm 命令刪除所有這些目錄和文件:
# abrt-cli rm /var/spool/abrt/*
然後啟動服務
# systemctl start abrtd # systemctl start abrt-oops
我們希望將刪除過程簡化如下——它將刪除超過 10 天的目錄
/var/spool/abrt/
find /var/spool/abrt/ -type d -ctime +10 -exec rm -rf {} \;
/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
2)以root身份執行腳本:
sudo crontab -e
添加行:
*/5 * * * * bash /home/yael/purgeabrt.sh
為了
cron
每 5 分鐘執行一次作業。編輯:
set -e
如果命令以非零狀態退出,將終止腳本的執行。
trap cleanup EXIT
將擷取可能被拋出到腳本的信號並執行清理程式碼。**注意:**腳本最後一行的呼叫
cleanup
可能是不必要的(冗餘),但提高了程式碼的可讀性。