私たちはからプロセスを自動化したいと思います/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
私の提案は次のとおりです。
1) シェルスクリプトの生成/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) スクリプトの実行根:
sudo crontab -e
行を追加:
*/5 * * * * bash /home/yael/purgeabrt.sh
cron
5分ごとにタスクを実行するため。
編集する:
set -e
コマンドがゼロ以外の状態で終了すると、スクリプトの実行は終了します。
trap cleanup EXIT
スクリプトで発生する可能性のある信号をキャプチャし、クリーンアップコードを実行します。
メモ:スクリプトの最後の行の呼び出しはcleanup
不要(重複)することができますが、コードの読みやすさを向上させます。