Просто так мы на одной странице:
-r recursive
-l preserve links
-c sync based on file checksum
-t preserve modification times
Тогда две вещи:
Это просто файловая система
Если папка назначения - это NFS-монтирование или какая-то файловая система, которая плохо обрабатывает мод-времена, то она ломается.
Попробуйте добавить параметр -O
(для --omit-dir-times
) в вашу команду.
Время модификации будет сохранено, но не указано для каталогов:
${RSYNC} -crlOt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}
Это мое лучшее предположение, так как синхронизация файлов, кажется, работает, и ваша ошибка происходит во время синхронизации модов. В любом случае, вам действительно нужно сохранить время модификации? Опция -c
пропускает файлы на основе контрольной суммы (поэтому время мод не имеет значения).
Или это, собственно, проблема с разрешением
- имеет ли пользователь, выполняющий скрипт, достаточно прав для редактирования / записи папки назначения? (попробуйте
ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test"
)
- пользователь, выполняющий сценарий, является «Правильным ™» (попробуйте
ssh -vv thegooduser@test.desktop "touch /dept/intranet/dept/atest/f1/test"
)
Ни один из вышеперечисленных
Запустите вашу команду с опцией -v
для подробного описания.