Я являюсь новым для записи сценариев в Linux. Я хотел бы скопировать некоторый файл с машины Linux в FreeNAS каждый день, не запрашивая пароль. как я должен сделать это? я должен подключить сетевой диск?заранее спасибо.
Отказ от ответственности: Существует много методов, это - мое лично предпочтительное
Удостоверьтесь, что у Вас есть SSH и работа Вашего узла назначения (в зависимости от того, как установить/начать SSH на FreeNAS - я не знаю),
sudo apt-get install openssh-server
Затем посмотрите, что можно войти в систему с файлами ключей (без pw) и ввести следование Вашего (источник) Ubuntu Linux ПК
ssh-keygen -t dsa -f /home/username/.ssh/rsync_keyfile.dsa
Не устанавливайте пароль, просто совершайте нападки, входят дважды!
Отказ от ответственности: Я обычно был бы совет использовать пароли, но не для сценариев целей
Теперь мы копируем ключ с источника - к узлу назначения, здесь необходимо ввести pw для dst-пользователя однажды
ssh-copy-id -i /home/username/.ssh/rsync_keyfile.dsa dst-user@destination-host
Можно протестировать его, чтобы видеть, работает ли это и если можно войти в систему
ssh -i /home/username/.ssh/rsync_keyfile.dsa dst-user@destination-host
затем можно передать файлы с
rsync -<rsync options> -e "ssh -i /home/username/.ssh/rsync_keyfile.dsa" /local/backup/files/* dst-user@destination-host:/remote/backup/
Я предложил бы использовать -a
а также -u
,-h
и -P
.
Эти опции говорят, что rsync, чтобы заархивировать (хорошая комбинация опций), только обновить (копируют) файлы, которые являются более новыми на источнике, чем место назначения, делают его человекочитаемым и показывают нам прогресс целой передачи.
При использовании этого в сценарии удостоверьтесь, что пользователь, выполняющийся, сказал, что сценарий является владельцем rsync_keyfile.dsa, иначе он не будет использоваться.
SSH был бы простым подходом. Вы могли использовать файловый браузер для соединения с сетевыми устройствами через sftp (SSH FTP, если коротко) - файловый браузер человечности является наутилусом, и это способно к выполнению этого.
Можно найти некоторую основную информацию и конфигурацию для ssh отсюда
После того как Вам генерировали ключи и добавили к авторизованному списку ключей Вашего сервера, нажать Other Locations
от нижней части левой панели и "Connect to Server" поле должно открыться, чтобы позволить Вам соединяться через sftp.
Объяснить выделенное содержание красного цвета:
sftp://
протокол передачи.
git
пользователь на сервере. У меня есть созданный названный мерзавец пользователя на моем сервере. В зависимости от Вашей ssh конфигурации сервера можно только хотеть позволить соединения определенным пользователям на сервере.
homeserver
псевдоним для моего сервера, который настроен через файл hosts в /etc/hosts
/home/git
каталог, который первоначально откроется, когда я нажму подключение.
Можно отметить соединение так, чтобы можно было открыть его каждый раз, когда Вы хотите.