一、Linux备份目录的小脚本

  • 备份压缩不包含路径
  • 保留最后的5次备份
  • 脚本backup_docker.sh
#!/bin/bash

# 目标路径
SOURCE_DIR="/root/docker"
DEST_DIR="/root/Esxi虚拟机_rsync"

# 获取当前日期
DATE=$(date +%Y%m%d%H%M)

# 压缩目录内容(包括子目录)但不保留上层目录
tar -czf "${DEST_DIR}/backup_${DATE}.tar.gz" -C "${SOURCE_DIR}" .

# 保留最后5次备份
cd "${DEST_DIR}" || exit
BACKUPS=($(ls -t backup_*.tar.gz))  # 根据文件时间排序备份文件

# 如果备份超过5个,则删除最旧的备份
if [ ${#BACKUPS[@]} -gt 5 ]; then
  # 删除最旧的备份
  rm "${BACKUPS[-1]}"
fi

echo "备份完成!当前备份文件:${DEST_DIR}/backup_${DATE}.tar.gz"

二、设置定时任务

  • 本在每周三 9 点自动执行
(crontab -l; echo "0 3 * * 2 /root/backup_docker.sh >> /var/log/backup_cron.log 2>&1") | crontab -
如果觉得我的文章对你有用,请随意赞赏