以下に示すように、2日後のログファイルを日付別に新しいディレクトリに移動したいと思います。
源泉:
1) /Test1/Server.log
2) /Test1/Server17032016.log
目的地:
1)/Test2/17032016/Server17032016.log
日付別にディレクトリを作成し、そのディレクトリにファイルを移動します。
ベストアンサー1
変更された日付を使用してバックアップを実行しないことをお勧めします。
実際のバックアップ当日にバックアップをソートしたくありませんか?
私はそうすることを知っています。
私はこの問題をこうして解決する。
#!/bin/sh
targetDirectory=$2
for file in $1; do
if [ -f "$file" ]; then
if [ $(((`date +%s` - `stat -L --format %Y $file`) > (172800))) -eq 1 ]; then
today=$(date +"%Y%m%d")
mkdir -p "$targetDirectory"
mkdir -p "$targetDirectory/$today"
mv $file "$targetDirectory/$today"
echo "$file moved to $targetDirectory/$today/$file"
fi
fi
done
(マジックナンバー172800は2日(秒)です。)
次のようにスクリプトを実行します。$ ./movebackup.sh "/Logfolder/*.log" Backups
出力
Server.log moved to Backups/20160319/Server.log
Server17032016.log moved to Backups/20160319/Server17032016.log
cronjobで毎日真夜中に実行します。