Я делаю резервную копию с помощью следующей команды:
ionice -c3 tar -ch data | lbzip2 -n 4 | ionice -c3 tee /mnt/smb/out.tar.bz2 > /dev/null
и после этого пытаюсь восстановить данные из резервной копии:
lbzip2 -cd -n 10 /mnt/smb/out.tar.bz2 | tar -x
Через час после запуска lbzip2 выходит из строя из-за ошибки целостности файла.
/ mnt / smb - это устройство RAID 1 на компьютере с Windows, доступ к которому осуществляется по протоколу SMB.
Я подозреваю ошибки при записи на диск или отправке данных с помощью smb, но не уверен.
Итак, у меня 2 вопроса:
tar -c ... \
| tee >(md5sum >/tmp/tar.md5) \
| lbzip2 \
| tee >(md5sum >/tmp/bz2.md5) \
> /mnt/smb/out.tar.bz2
Тогда вы можете проверить
md5sum /mnt/smb/out.tar.bz2
и посмотрите, возвращает ли оно то же, что было сохранено в /tmp/bz2.md5. Если это так, то у вас не должно быть проблем с хранением, и мне было бы интересно узнать точное сообщение об ошибке lbzip2 и можно ли распаковать сохраненный файл с помощью официального bzip2. Спасибо. (Не стесняйтесь обращаться ко мне по электронной почте.)
Но, правда, избавься от всех этих труб раньше ...
Поскольку вашим местом назначения является общий ресурс CIFS в Windows-боксе - почему бы вам не использовать сжатую Windows файловую систему на стороне Windows, а просто использовать простой tar (без сжатия) на стороне Linux?
Таким образом вы можете поместить сжатие в окно Windows и избавиться от множества сложностей.
Кстати: вы проверили сетевое подключение к windows-box? У вас есть сетевые ошибки?
netstat -in
ethtool -S eth0|grep -vw 0
(замените eth0 сетевой картой, которую использует соединение CIFS)