X日より古いファイルを削除する - mtime、ctime、atimeが機能しない

X日より古いファイルを削除する - mtime、ctime、atimeが機能しない

日が経過した特定のフォルダのファイルを削除するスクリプトをSynology(NAS)で実行しています。

問題は、フォルダにアップロードされてから数日後にファイルを削除したいということです。

だから私はctime、mtime、またはatimeを使用しようとしましたが、問題はこれがファイル変更時間、ファイル変更時間、またはファイルアクセス時間に基づいていることです。私がSynologyにアップロードするファイルは、Windowsで変更されたファイル時間(時には非常に古い時間)を「インポートする」ため、アクセス時間や修正時間は機能しません。

誰もが解決策を知っていますか?

答え1

ファイルタイムスタンプは使用できないため、別の方法を使用する必要があります。一般的な選択肢は次のとおりです。

  • 命名規則を使用します(ファイル名またはディレクトリ名にタイムスタンプを含めます)。
  • タイムスタンプを同じディレクトリの隠しファイル(ドットファイル)など関連ファイルに保存し、スクリプトを通じて確認可能
  • ファイルアップロード日のデータベースを保持し、それを使用してファイルの有効期限を制御します。

関連情報