Управление rsync с Python?

Перейдите к проектам с открытым исходным кодом. Там Вы не должны просить разрешение видеть код.

17
задан Cheesemold 1 November 2009 в 16:36
поделиться

5 ответов

Если вам нужно программно управлять подпроцессом, вам следует изучить возможность использования pexpect .

1
ответ дан 30 November 2019 в 11:37
поделиться

Я использую rsync для резервного копирования всех веб-сайтов моих клиентов. Сценарий запускается cron, и он использует файлы Makefiles для каждого клиента из-за их различных потребностей.

Вместо того, чтобы делать что-то, что вводит пароль, используйте ssh-keygen для создания пары открытого / закрытого ключей и поместите ваш открытый ключ в удаленная машина. Это дает вам безопасные соединения без пароля. Это также означает, что вам не нужно открывать миру порт rsync. После того, как вы пройдете кривую обучения этому (и это не очень круто), ssh станет наиболее определенно вашим другом.

6
ответ дан 30 November 2019 в 11:37
поделиться

Если вы хотите взаимодействовать с подпроцессом в целом, вы можете использовать pexpect , как упоминалось в другом месте. Но в вашем конкретном случае, предполагая, что ваш rsync работает через ssh (по умолчанию), вы можете подумать о настройке беспарольного ssh соединения между двумя хостами, что избавит от необходимости вводить пароль. . Это решение на основе ключей , которое будет намного безопаснее, чем хранение вашего пароля в исходном коде.

Здесь '

21
ответ дан 30 November 2019 в 11:37
поделиться

Я не думаю, что он поддерживает rsync из коробки, но paramiko может иметь некоторые компоненты, которые вы могли бы переработать?

1
ответ дан 30 November 2019 в 11:37
поделиться

Если вам просто нужно ввести пароль, вы можете попробовать заполнить переменную окружения RSYNC_PASSWORD или использовать опцию --password-file.

0
ответ дан 30 November 2019 в 11:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: