标签: backup

停止 cron 发送邮件备份脚本?

我已经设置了一个备份脚本来使用 cron 每小时备份我的 Minecraft 服务器上的世界数据,但是由于玩家不断编辑世界,tar 告诉我文件在读取时发生了变化。我在脚本中的 tar 中添加了 --ignore-command-error 并在我手动运行它时抑制了任何错误,但是 cron 仍然发送邮件消息说文件在读取时已更改,最终导致我的邮件泛滥,因为它是每小时运行一次。有人知道怎么修这个东西吗?这是脚本:

filename=$(date +%Y-%m-%d)
cd /home/minecraft/Server/
for world in survival survival_nether survival_the_end creative superflat
do
if [ ! -d "/home/minecraft/backups/$world" ]; then
mkdir /home/minecraft/backups/$world
fi
find /home/minecraft/backups/$world -mtime +1 -delete
tar --ignore-command-error -c $world/ | nice -n 10 pigz -9 > /home/minecraft/backups/$world/$filename.tar.gz
done
Run Code Online (Sandbox Code Playgroud)

cron backup email

14
推荐指数
3
解决办法
3万
查看次数

ZFS 快照到文件作为带轮换的备份

我有一个本地 FreeNAS 系统,想使用 ZFS 快照进行备份。
FreeNAS 有内置的复制任务,它使用

zfs send snapshot_name
Run Code Online (Sandbox Code Playgroud)

将快照发送到远程系统。但这需要另一端带有 ZFS 的系统。

我想将快照发送到一个文件并将这个压缩和加密的文件发送到远程机器。

这是可能的

zfs send snapshot_name | gzip | openssl enc -aes-256-cbc -a -salt > file.gz.ssl
Run Code Online (Sandbox Code Playgroud)

每天我都会制作存储池的快照并将每个快照保留 30 天。
每次拍摄快照后,我都会将此快照通过管道传输到文件中。
- 快照文件 1 中包含所有文件(假设为 2GB)
- 快照文件 2 仅包含对快照文件 1 的更改(假设为 5MB)
- 快照文件 3 包含对快照文件 2 的更改;等等。

在第 31 天,snapshot_file 1 被删除(因为我只想要过去 30 天的更改)

因此,snapshot_file 2 需要保存每个文件(2GB 的 snapshot_file 1 + 5MB 更改)

但是使用这种方法每天(从第 31 天开始)必须创建一个新的 2GB 文件并将其发送到远程系统。这开销太大了。

使用管道传输到文件的快照作为具有 X 天历史记录的备份策略的最佳方法是什么?

PS:我知道有很多备份软件(例如 rdiff-backup),我可以使用它们。但我很好奇如何做到这一点。

freebsd zfs backup freenas snapshot

14
推荐指数
1
解决办法
2万
查看次数

rsync 不断断开连接:管道损坏

我正在使用rsync备份我的主目录。这已经工作了很长时间了。这是我正在使用的命令:

rsync \
    -pavz \
    --delete \
    --exclude 'mnt/' \
    --exclude '.cache/' \
    --exclude 'Videos/' \
    --exclude 'Music/' \
    --exclude 'Documents/virtualbox' \
    /home/"${USER}" "${server}":"${dir}" 2>> "${errorFile}"
Run Code Online (Sandbox Code Playgroud)

但是,我切换了要备份的服务器,现在rsync启动并运行几秒钟(最多几分钟),但随后停止并显示错误消息

packet_write_wait: Connection to x.x.x.x: Broken pipe
rsync: [sender] write error: Broken pipe (32)
rsync error: unexplained error (code 255) at io.c(820) [sender=3.1.1]
Run Code Online (Sandbox Code Playgroud)

由于它在其他服务器上工作,我怀疑问题出在连接或服务器本身上。连接似乎很稳定。我通过电缆连接,我没有看到任何中断。我还尝试在备份时 ping 服务器。即使备份中断,ping 的响应率为 100%。

kerberos用来在远程服务器上进行身份验证。

我试着用几个组合ServerAliveIntervalServerAliveCountMaxClientAliveInterval在我~/.ssh/config,但无济于事。

可能是服务器上运行的某些东西rsync出于某种原因终止了该命令,但我不知道如何进行调查。有任何想法吗?

networking ssh backup rsync

14
推荐指数
3
解决办法
4万
查看次数

将大目录树拆分为指定大小的块?

我有一个目录树,我想将其备份到光盘。不幸的是,它超过了任何一个磁盘的大小(大约 60GB)。我正在寻找一个脚本,可以将这棵树分割成适当大小的块,并带有硬链接或诸如此类的东西(保持原始文件不变)。然后我可以将这些一口大小的树提供给备份过程(添加 PAR2 冗余等)。

这不是一个花哨的脚本,但它似乎已经完成了。建议?

(一步跨越和写作是不行的,因为我想在文件被烧毁之前做更多的事情。)

backup disk-usage split burning

13
推荐指数
3
解决办法
9080
查看次数

用于自动数据库备份到日期前缀文件的 cronjob

我正在使用最新的 Linux Mint。我想知道是否可以为数据库备份创建一个特殊的 cronjob。

在我的/etc/cronjob文件中,我有以下代码:

# Minute   Hour   Day of Month       Month          Day of Week        Command    
# (0-59)  (0-23)     (1-31)    (1-12 or Jan-Dec)  (0-6 or Sun-Sat)                
30        4          *            *                1-6            /home/users/backup.sh
Run Code Online (Sandbox Code Playgroud)

在我的/home/users/backup.sh我有:

mysqldump -uroot -p MyDatabase > /home/users/backup_MyDB/full_myDB.sql
Run Code Online (Sandbox Code Playgroud)

而不是full_myDB.sql我想要像2014-04-04_full_myDB.sql根据我们拥有的日期动态添加日期的地方。

如果 SQL 备份文件早于一周,我希望 cronjob自动删除它。

cron backup mysql database

13
推荐指数
1
解决办法
5万
查看次数

如何确定 ext4 和 btrfs 文件系统的块大小?

我正在寻找能够告诉我 ext4 与 btrfs 格式化驱动器上的分配量的命令。

背景:我正在使用一个备份系统,允许用户恢复单个文件。该系统仅使用rsync,没有服务器端软件,备份未压缩。结果是我有一些 3.6TB 的文件,其中大部分都很小。

对于我的数据集来说,LVM 下的 btrfs 卷上的存储效率似乎比普通的旧 ext4 卷上低得多,我怀疑这与最小文件大小以及块大小有关,但我有无法弄清楚如何获得这些尺寸以进行比较。btrfs wiki 说它使用“页面大小”,但我没有找到任何关于获取该数字的信息。

linux filesystems backup ext4 btrfs

13
推荐指数
2
解决办法
2万
查看次数

如何在 LVM 中创建只读快照,然后在一些工作后回滚到它?

如果我想在 LVM 中使用哪些命令:

  1. 创建卷的只读快照;
  2. (在卷中做一些实验);
  3. 然后将卷回滚到快照?

backup lvm restore sandbox

12
推荐指数
1
解决办法
9275
查看次数

如何检查dd备份的完整性?

我刚刚通过以下方式备份了整个硬盘驱动器(50GB)ssh

dd if=/dev/hda | buffer -s 64k -S 10m | ssh myuser@myhost "cat > ~/image.img"
Run Code Online (Sandbox Code Playgroud)

现在检查文件完整性的最佳方法是什么image.img,即如何验证是否正确复制了所有内容?

backup dd integrity

12
推荐指数
2
解决办法
2万
查看次数

清理临时文件 ~/.cache/duplicity/temp 失败

通常,当我运行 Duplicity 时,我会在运行结束时看到这样的错误消息:

Cleanup of temporary file /home/user/.cache/duplicity/9a169830d41477b2dbc3c5b32edd4e8a/duplicity-MEXhMY-tempdir/mktemp-StAkzj-1 failed
Run Code Online (Sandbox Code Playgroud)

提到的目录将包含十个左右的文件,下次运行 Duplicity 时将删除这些文件。

知道为什么在运行增量备份时有时会失败吗?我自己没有看到任何模式,也很难找到其他人提到同样的问题。某个电子邮件列表上的某个人曾经提到他的语言环境给 Duplicity 造成了问题。我尝试从我的正常挪威 bokmål 语言环境更改为 en-US,但仍然看到问题。

这只是 Duplicity 的正常操作吗?

在三个不同的系统上看到它:两个 Ubuntu 13.04 64 位桌面和一个 Ubuntu Server 13.04 64 位。

backup cache duplicity

12
推荐指数
1
解决办法
3946
查看次数

如何使用 btrfs 发送/接收通过缓慢且不可靠的网络连接传输备份快照?

我想使用 btrfs 的发送/接收功能通过相当慢的(大约 50-100GB 的初始种子,上行带宽 ~1-2MBit/s)和不可靠的(每天在两端强制中断)连接传输备份快照。

我看到以下要求:

  • 加密传输(通常通过使用 SSH 隧道实现)
  • 中断连接的鲁棒性

ZFS似乎能够自动恢复中断的传输,类似于 rsync 的做法。这也适用于 BTRFS 吗?该发送/接收wiki页面是不是相对于中断的传输有用的。如果 btrfs 可以恢复中断的传输,我所要做的就是使用 SSH 隧道并在中断时恢复。

如果没有,我将不得不在中间使用一些缓冲区,以确保 btrfs-connection 在中断后仍然存在,或者让两台服务器彼此靠近以进行播种(这对于添加的优于日常传输的文件来说将是一个问题容量和发送快照)。

传输种子和快照时需要考虑什么?

linux backup btrfs

12
推荐指数
2
解决办法
8814
查看次数