Просто так мы на одной странице:
-r recursive
-l preserve links
-c sync based on file checksum
-t preserve modification times
Тогда две вещи:
Это просто файловая система
Если папка назначения - это NFS-монтирование или какая-то файловая система, которая плохо обрабатывает мод-времена, то она ломается.
Попробуйте добавить параметр -O
(for --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
опцией, для многословия.