В настоящее время я копирую гигабайты и гигабайты данных с живого сервера на сервер резервного копирования, используя комбинированный скрипт rsync / ssh, позволяющий автоматизировать работу каждую ночь с заданием cron.
У меня проблема с разрешениями.
Запуск rsync в режиме -a копирует пользователя: group и filemode, которые на данный момент 54122: games и -rwx - S ---.
Чтобы иметь возможность запускать файлы на сервере резервного копирования (не спрашивайте меня, почему работодатель требует этого), мне пришлось запустить дорогостоящее время и процессор (из-за огромного количества передаваемых данных) () и chmod () устанавливают для каждого файла / папки значение www-data: www-data и права доступа 755.
Могу ли я в любом случае настроить rsync для принудительной установки каждого файла / папки на www-data: www-data и 755, или я смотрю на эту проблему под неправильным углом?
Я думаю, я мог бы запустить -rltD вместо -a (что эквивалентно -rlptgoD), но что тогда случится с новыми файлами? Какие разрешения и владелец: настройки группы они получают?
источник
--perms
флаг необходим для работы вышеуказанной команды. Кроме того, хотя я и не пытался, я предполагаю, что--no-perms
флаг не будет работать, он, скорее всего, отключит--chmod
флаг.rsync --chmod=ugo=rX source/ destination/
Если разрешения уже настроены таким образом на машине, с которой вы копируете, вы можете попробовать -p. Это сохраняет разрешения. Также вы можете попробовать grsync. Это интерфейс для rsync, который делает некоторые опции более очевидными. Также -о сохраняет владельца.
Надеюсь, это поможет. Удачи.
источник