シェルスクリプトを使用して7日前のファイルを削除する方法は何ですか?

以下のシェルスクリプトを使用して、7日前のファイルを削除することができます。

#!/bin/bash

# 指定要删除的目录
directory="/path/to/directory"

# 计算七天前的时间戳
seven_days_ago=$(date -d "-7 days" +%s)

# 遍历目录中的文件
for file in "$directory"/*
do
    # 获取文件的修改时间
    modify_time=$(stat -c %Y "$file")

    # 比较修改时间和七天前的时间戳
    if [ "$modify_time" -lt "$seven_days_ago" ]
    then
        # 删除文件
        rm "$file"
        echo "已删除文件: $file"
    fi
done

/path/to/directoryを削除したいファイルのディレクトリのパスに置き換えてください。そして、スクリプトをファイル(delete_old_files.shなど)に保存し、そのファイルのパーミッションを実行可能に設定してください。

スクリプトを実行すると、指定されたディレクトリ内のすべてのファイルを走査し、各ファイルの変更時間と7日前のタイムスタンプを比較します。ファイルの変更時間が7日前のタイムスタンプよりも古い場合、ファイルは削除され、削除されたファイル名がコンソールに出力されます。

bannerAds