
私はRed Hat Enterprise Linux Serverバージョン5.6(Tikanga)を使用しています。特定のフォルダのファイルを削除するシェルスクリプトを作成しました。
find /app/psoft/pscfg/appserv/prcs/ABC/LOGS -type f -mtime +45 -exec ls {} \; >> "/app/Custom_Del_logs/prcslogs_`date +%Y%m%d_%H%M`.log"
find /app/psoft/pscfg/appserv/prcs/ABC/LOGS -type f -mtime +45 -exec rm {} \;
上記のスクリプトは、最初に上記のログファイルから45日以上経過したすべてのファイルを一覧表示し、そのファイルを削除します。ただし、要件は、リストされた文書に日付を記載する必要があることです。だから我々はそれを簡単に識別することができます。
答え1
以下を行います。
$ dir=/app/psoft/pscfg/appserv/prcs/ABC/LOGS
$ outdir=/app/Custom_Del_logs
$ find $dir -type f -mtime +45 -ls >> ${outdir}/prcslogs_$(date +%Y%m%d_%H%M).log
答え2
ls
コマンドを次のように置き換えると、stat -c "%n %y"
最後に変更された日付情報のみを取得できます。