rsync делает 2 резервных копии, если cron запускается во время записи файла

У меня есть crontab для запуска этой команды rsync каждые 30 м

 rsync -rtbpgoi --suffix="."$(date +"%Y%m%d%H%M") --exclude=".*" \ --exclude="~*" --exclude="[Tt][Hh][Uu][Mm][Bb][Ss].[Dd][Bb]" \ --exclude="[Dd][Ee][Ss][Kk][Tt][Oo][Pp].[Ii][Nn][Ii]" \ --info=STATS0,FLIST0,NAME1 /mnt/datastore/ /mnt/dsbackup 

Что происходит, если файл находится в процессе написания, например, например, при длительной загрузке, я получаю дополнительную резервную копию файла, которая является резервной копией неполной загрузки.

Есть ли способ сделать rsync игнорировать файлы, которые все еще записываются или каким-то другим способом избежать резервного копирования неполных файлов? Я знаю, что могу удалить переключатели -b и --suffix но я хочу сохранить функциональность того, что он сохраняет историю версий, когда файлы меняются.

One Solution collect form web for “rsync делает 2 резервных копии, если cron запускается во время записи файла”

Чтобы ответить на ваш вопрос : rsync , насколько мне известно, не имеет встроенного способа узнать, что какая-то отдельная программа, которую вы используете (веб-браузер и т. Д.), Активно модифицирует файл.

Учитывая ваш тип резервного копирования (работающий на одном источнике и получателе каждые 30 минут), вы можете добиться окончательного удаления любых промежуточных файлов, которые имеют разные имена, чем окончательный файл (например, download_1.zip.tmp может быть промежуточным файлом для download_1.zip ), добавив в --delete параметр --delete .

Во время первого запуска rsync файл download_1.zip.tmp будет скопирован в резервную папку. Предполагая, что загрузка закончится в течение 30 минут, промежуточный файл download_1.zip.tmp будет переименован в download_1.zip . При следующем запуске rsync rsync больше не будет искать промежуточный файл download_1.zip.tmp (потому что он был переименован в download_1.zip ), и он удалит download_1.zip.tmp и заменит его download_1.zip в резервной копии. Это также удалит любые другие файлы из вашей резервной копии ( /mnt/dsbackup ), которые больше не существуют в источнике ( /mnt/datastore ).

Из rsync страницы rsync (версия 3.1.0):

Это говорит rsync удалять посторонние файлы со стороны приема (те, которые не находятся на стороне отправки), но только для синхронизируемых каталогов. Вы, должно быть, попросили rsync отправить весь каталог (например, «dir» или «dir /») без использования подстановочного знака для содержимого каталога (например, «dir / *»), поскольку подстановочный шаблон расширяется оболочкой, а rsync получает запрос на передачу отдельных файлов, а не в родительский каталог файлов. Файлы, которые исключены из передачи, также исключаются из удаления, если вы не используете опцию -delete-excluded или не отмечаете правила как только соответствующие на стороне отправки (см. Модификаторы include / exclude в разделе FILTER RULES).

  • Rsync исключает папки
  • Снимки с большими изменениями файлов
  • процесс резервного копирования занимает длительное время из-за rsync. Отсутствие пробела на ошибке устройства
  • rsync для удаленного сервера без пароля
  • Разрешения на доступ к файлу в главном каталоге, как я начинаю?
  • Как вы предоставляете группе разработчиков доступ к apache, MySQL, php и webroot?
  • rsync не использует -files-from option?
  • Раскройте файлы, когда rsync'in
  • rsync с двоеточиями в именах файлов
  • Как синхронизировать сетевой диск и внешний диск (Ubuntu и OS X)?
  • Перевод конфигурации rdist с несколькими корнями в rsync
  • Возврат удаленных файлов rsync
  • Interesting Posts

    Насколько безопасен Ubuntu в Virtualbox на хосте Windows?

    Линукс получил какую-то инфраструктуру мониторинга или оповещения в себе

    Как я могу объединить все файлы в каталоге вместе в одной операции с командной строкой?

    Файлы, связанные с Thunderbird – механизм безопасности для локального хранилища

    Iptables не может переходить из / в внутреннюю локальную сеть с помощью proxmox

    Изменить порядок сортировки с помощью ярлыков в Midnight Commander?

    Linux не распознает окна при установке

    Как мне установить программное обеспечение из источника, чтобы я мог сделать свою конфигурацию управляемой и воспроизводимой?

    Можете ли вы указать, был ли файл переименован?

    yum install http://www.example.com/package.rpm vpm rpm -ivh http://www.example.com/package.rpm

    Перечислить файлы рекурсивно в CLI Linux с контуром относительно текущего каталога, max 250 char

    logrotate использует всю мощность процессора

    Почему scp настолько медленный и как сделать это быстрее?

    Как добавить шаблон к заполнению bash (для распаковки)?

    Переименование нескольких файлов и добавление даты перед файлами

    Linux и Unix - лучшая ОС в мире.