Linux备份脚本“;文件在我们阅读时发生了更改";

Linux备份脚本“;文件在我们阅读时发生了更改";,linux,bash,backup,Linux,Bash,Backup,我一直在摆弄张贴在网站上的备份脚本 脚本使用tar。我希望备份的文件包括正在不断写入/读取的文件夹/文件。我希望脚本在脚本运行并通过该点时对文件的“映像”进行备份 我已经包括了--忽略失败的读取,但问题仍然存在 我在脚本中稍微编辑的部分如下所示: # Compress tables and files cd "$TARGET_DIR" tar -czf "$BACKUP_DIR/backup.incoming/$backup_filename" --ignore-failed-read -C "

我一直在摆弄张贴在网站上的备份脚本 脚本使用tar。我希望备份的文件包括正在不断写入/读取的文件夹/文件。我希望脚本在脚本运行并通过该点时对文件的“映像”进行备份

我已经包括了--忽略失败的读取,但问题仍然存在

我在脚本中稍微编辑的部分如下所示:

# 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"

谢谢

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

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

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

您的意思是您知道错误的原因,只想忽略它?我希望备份包括目录,而不是跳过它们。您希望脚本对更改的文件做什么?它不能只是“备份旧版本”或“忽略更改并继续读取新文件”,那么您希望它做什么呢?