私は自分のログの削除のために小さな静的なスクリプトを記述しましたが、ある場合には、動的なスクリプトを作るための方法だったと思って。ここに私のスクリプトは現在、どのように動作します。
コード:
#!/bin/sh
###########################################
#Script to zip logs older than 1 week old
#and to delete logs older than 30 days old
###########################################
#
##TEST
#
cd /opt/apache/test/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
cd /opt/apache/test1/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
cd /opt/apache/test2/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
echo "Script complete on `date +%D`."
この特定のスクリプトを、今のところ、私は単純にコピーする際に私は新しいApacheサーバを作成して、新しいブロックを貼り付けているが、以来私は、ディレクトリ構造計算とファイル名は常に同じですログインすると、そこに私はいくつか追加することがいくつかの方法でしょうこれを実際のロジック。
おそらく/ / apacheのは/ optには、 CD 、何らかの形で変数をし、それぞれのディレクトリの名前をキャプチャするには、変数を使用して、検索コマンドを実行するように配列し、ループを使用すると、リストはこれらの4行を行うもし別のディレクトリを繰り返して存在しています。