我的PVE-Nas数据备份方案

勿喷

没有做raid,穷,怕浪费磁盘空间

备份方案

主要是用rsync实现在本地2个磁盘间的备份

  1. PVE中挂载docker中的相关文件
# 编辑如下文件,开机挂载docker磁盘
# vi /etc/fstab

# for backup
/dev/pve/vm-100-disk-0 /mnt/docker_root
/dev/mapper/Disk1-vm--100--disk--0 /mnt/docker_cloud
/dev/sdb1 /mnt/backup
  1. 创建备份脚本/root/backup
#!/usr/bin/env bash
now=$(date +"%Y%m%d")
file="/var/log/rsync_backup_${now}.log"

# nginx 
rsync -rlptDz --delete --log-file="$file" --log-file-format='%t %f %b' /mnt/docker_root/etc/nginx/ /mnt/backup/nas/nginx/ | tee -a "$file"
# kodcloud
rsync -rlptDz --delete --log-file="$file" --log-file-format='%t %f %b' /mnt/docker_root/var/www/kodcloud/ /mnt/backup/nas/cloud_www/ | tee -a "$file"
rsync -rlptDz --delete --log-file="$file" --log-file-format='%t %f %b' /mnt/docker_cloud/ /mnt/backup/nas/cloud/ | tee -a "$file"
  1. 定时任务
# vi /etc/crontab
# 每周一夜里10点开始备份
00 22   * * 1   root    /root/backup

rsync参数说明

  • r 递归遍历
  • l 拷贝链接文件
  • p 保留权限
  • t 保留修改时间
  • D 保留设备文件
  • z 压缩
  • o 保留owner信息
  • g 保留group信息

og在备份中未启用,因为docker应用中的用户id可能在备份盘中失效,导致报错,所以未启用该参数