Linux 备份脚本 "file changed as we read it"

Linux backup script "file changed as we read it"

我一直在 fiddle 上发布备份脚本 Github 该脚本使用 tar。我希望备份的文件包括正在 written/read 连续备份的 folders/files。我希望脚本在脚本 运行 时备份文件的 "image" 并通过该点。

我添加了 --ignore-failed-read 但问题仍然存在。

我稍微修改过的脚本部分如下所示:

# Compress tables and files
cd "$TARGET_DIR"
tar -czf "$BACKUP_DIR/backup.incoming/$backup_filename" --ignore-failed-read -C "$BACKUP_DIR/backup.incoming/" --exclude "$BACKUP_DIR" mysql_dump.sql "$TARGET_DIR"

谢谢

如果磁盘 space 不是问题,您可能需要先使用 rsync 创建一个副本,例如:

rsync -a --exclude="$BACKUP_DIR" \
    "$BACKUP_DIR/backup.incoming/$TARGET_DIR" \
    "$BACKUP_DIR/backup.rsync"

之后,运行 tar 对 rsync 副本应该不会触发类似的错误。默认情况下 rsync 只会添加文件,如果您希望删除的文件(来自 src 目录)也从 rsync 副本中删除,可以使用选项 --delete