私は毎日データベースのバックアップを作成しています。
ハードディスクを保存するために、シェルスクリプト2 weeks
からAND(day of month) % 14 != 0
より古いファイルを削除するにはどうすればよいですか?
そのため、毎月14日または28日に作成されたファイルを削除しないfind / -mtime +14 -exec rm {} \;
ように追加した、のようなコマンドを探しています。
過去2週間は毎日バックアップし、その後は2週間に1回(ほぼ)バックアップしたいですか?
ループ内のPHPコードは次のようになります。
$mtime = filemtime($file); // Last modified date of file (created)
$day_mtime = date('j', $mtime); // Day of month (1-31)
$two_weeks_ago = time() - 60 * 60 * 24 * 14;
if ($mtime < $two_weeks_ago && $day_mtime % 14 != 0) {
// Delete file older than 2 weeks
// AND not modified not 14'th nor 28'th day of month
}