remove-backup.sh 738 B

12345678910111213141516171819202122232425
  1. #!/bin/bash
  2. # 设置要检查的目录路径
  3. TARGET_DIR="/opt/adweb3/wp_bak"
  4. # 设置文件或目录的存活天数
  5. DAYS_TO_KEEP=30
  6. # 获取当前日期的时间戳
  7. CURRENT_DATE=$(date +%s)
  8. # 遍历目标目录中的所有文件和目录
  9. for FILE_OR_DIR in "$TARGET_DIR"/*; do
  10. # 获取文件或目录的最后修改时间的时间戳
  11. LAST_MODIFIED_DATE=$(stat -c %Y "$FILE_OR_DIR")
  12. # 计算文件或目录的存活天数
  13. DAYS_OLD=$(( (CURRENT_DATE - LAST_MODIFIED_DATE) / 86400 ))
  14. # 如果文件或目录的存活天数超过了设定的天数,则删除它
  15. if [ "$DAYS_OLD" -gt "$DAYS_TO_KEEP" ]; then
  16. rm -rf "$FILE_OR_DIR"
  17. echo "Deleted: $FILE_OR_DIR (was $DAYS_OLD days old)"
  18. fi
  19. done