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