rsync вызывает ошибки после синхронизации

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

Команда rsync :

 rsync -avzO --exclude=*.git --exclude=*.log /var/www/html/ver_1/api root@production.local:/var/www/html/ver_1 

Я подтвердил следующее:

  • Настройки производительности и тестовой среды (PHP и Apache) зеркально отражают друг друга
  • Проблема должна заключаться в команде rsync потому что когда я вручную копирую файлы (используя WinSCP ), проблем нет – так что это не ошибка кода.
  • Мы синхронизируем с компьютера CentOS на компьютере CentOS (если это имеет значение)

Вопросов

  • Что может быть причиной проблемы?
    • Почему это случается только иногда (2/3 раза из 25-иш)
  • Как я могу ее разрешить или минимизировать возникновение?

редактировать

PHP Fatal error: require_once(): Cannot redeclare class api\lib\classapitools\apitools in /var/www/html/ver_1/api/index.php on line 42

  • Я скопировал файл index.php из теста в производство, но он не исправил его.
  • Повторно запустил команду rsync и не исправил ее.
  • Затем я скопировал все файлы вручную, и это сработало. Я отлаживал все приложение, но он не возвращал ничего прогностического в отношении ошибки (я знаю, почему ошибка там (в общем смысле), но rsync казалось, имел FUBAR'd все приложение до ручной синхронизации)

  • rsnapshot LVM без корня
  • Лучший способ синхронизации файлов - копировать только СУЩЕСТВУЮЩИЕ файлы и только если NEWER, чем целевой
  • Живая ОС зависает при копировании файлов
  • найти и rsync?
  • Запуск rsync в качестве демона для локальной передачи
  • mv с функциональностью rsync
  • Ошибка RSync в скрипте
  • rsync определенные файлы, исключая остальные, игнорируя каталог .svn /, рекурсивно
  • One Solution collect form web for “rsync вызывает ошибки после синхронизации”

    Проблема, скорее всего, заключается в использовании флага -a на rsync. Это эквивалентно набору других опций, включая -t , который сохраняет время модификации файлов.

    Поскольку вы не перезапускаете приложение на целевом компьютере, вы теперь зависите от того, что машина перечитывает некоторые или все эти файлы или нет, в зависимости от приложения и отслеживаются ли эти файлы как измененные.

    Вы пытаетесь использовать -rlpgoD вместо -a . «Неправильная» временная метка файлов, переданных в предыдущем rsync (но не в текущем), не должна вызывать каких-либо проблем, rsync достаточно умен, чтобы заметить, что контент тот же, даже если метки времени отсутствуют.

    Если вы использовали опцию « --in-place вы, вероятно, столкнетесь с большими проблемами.

    Interesting Posts

    «Stdin: не является tty» почтой для запуска скриптов в качестве заданий cron

    С grep, как я могу сопоставить шаблон и инвертировать совпадение с другим шаблоном?

    Используя * Autotools *, как мне сохранить список компиляторов в файле по файлу?

    Служба httpd не запускается – fcgid не может создать общую память

    Невозможно выполнить chown / chgrp / chmod в общем каталоге в VirtualBox Ubuntu 10.04

    autofs: как проверить, является ли данный каталог ловушкой монтирования, из пользовательского пространства?

    проверить прием пакетов tcp ниже уровня tcpdump

    Убить родителя процесса дочерних труб

    Почему ls принимает дубликаты коммутаторов?

    фильтр в «find» игнорируется при выходе, подаваемом в tar

    Команда netcat не может получить доступ к открытому порту

    Что означает «005» в выводе команды linux od?

    Мое WLAN-соединение скрыто, даже широковещательная передача включена

    Выбрать между заданными символами в vim

    Как получить количество уникальных строк в файле?

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