カスタム スクリプトを実行しています。スクリプトの出力といくつかの実行ステージをログ ファイルにリダイレクトしたいと考えています。
私の要件は - ログ ファイルのサイズが 20 MB を超えた場合、内容を新しいファイルに移動し、スクリプトでログ ファイルを再作成します。いつでも、最近のログ コンテンツの 1 つのバックアップを作成します。私は以下のロジックを考え出そうとしました:
if [ -e "$logfile" ]
then
logsize=ls -l $logfile |awk '{print $5}'
ls -l $logfile |awk '{print $5}'
if [ "$logsize" -gt 2097152 ]
then
mv $logfile $(date +"%Y%m%d%H%M").log
touch $logfile
fi
else
touch $logfile
fi
専門家の意見を聞きたいのですが、このタスクを実行するための他の効率的な方法があれば教えてください。