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
。
我一直在 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
。