shellスクリプトを使用してログファイルをタイミング圧縮

1074 ワード

システムはサーバーの上で运行する时、大量のログを生んで、毎日発生するログの量はいくつのGに达して、甚だしきに至っては数十のGに达して、このようにディスクの空间はすぐにいっぱいになって、システムも挂かり落として、だからログのファイルに対して圧縮を行う必要があって、圧縮した后のログのファイル
       次に、LINUXでshellスクリプトを使用してログファイルをタイミング圧縮する手順について詳しく説明します.
1.shellスクリプトの作成
ディレクトリ/local/logsの下のログファイルcatalina.logを日単位で圧縮し、圧縮後に元のログファイルを削除
例えば昨日のログファイルは/local/logs/catalina.2017-10-11.logで、圧縮後は/local/catalina.2017-10-11.tar.gzで、昨日のログファイルを削除します.
/local/backup.sh
#!/bin/bash
cd /local/logs
tar -zcvf /local/catalina.`date -d yesterday +%F`.tar.gz catalina.`date -d yesterday +%F`.log
rm -rf catalina.`date -d yesterday +%F`.log
2.タイマcrontabを使用して実行
スクリプト/local/backup.shを毎日0時30分に実行
[root@localhost local]# crontab -e

Insertキーを押して、次の内容を入力します.
30 0 * * * /local/backup.sh

ESCを押して、wqと入力します.これで実行計画をcrontabに追加し、追加結果を表示できます.
[root@localhost local]# crontab -e
crontab: installing new crontab
[root@localhost local]# crontab -l
30 0 * * * /local/backup.sh
このように毎日0時30分になると、昨日のログファイルを自動的に圧縮し、元のログファイルを削除します.