一、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 -