Как мы можем скопировать один файл с одного сервера на другой в cron
Кто-нибудь может дать мне знать, как мы можем скопировать файл с одного сервера на другой в cron. Я знаю о scp
но как мы используем его в cron, так как нам нужно передать пароль.
отредактированный
Я нашел эту ссылку Expect script, который вводит имя пользователя и пароль
Кто-нибудь может помочь мне сделать это. Я чрезвычайно новичок в Ubuntu,
1 ответ
У вас есть два основных варианта:
Плохой: используйте что-то вроде
pscp
который позволяет отправить пароль. Отman pscp
:-pw password Set remote password to password. CAUTION: this will likely make the password visible to other users of the local machine (via commands such as `w').
Это потребует от вас иметь пароль в файле crontab, который является простым текстовым файлом, и это не очень хорошая идея. На моем Debian, с
pscp
0.63, пароль на самом деле маскируется при выводеw
а такжеps
&co, но основываясь на приведенной выше справочной странице, вы не можете предполагать, что так будет всегда.Лучший вариант: установить ssh без пароля для пользователя, которому нужно запустить
scp
команда. Если вы не хотите делать это для обычного пользователя, просто создайте нового пользователя и запустите crontab от имени этого пользователя.
Кроме того, вы можете настроить его наоборот. Вместо того чтобы пользователь на машине A копировал файл с машины B, пусть пользователь на машине B вместо этого скопирует файл на машину A.
Да, вы можете сделать это с expect
сценария, но те же проблемы безопасности будут применяться, если вы хотите включить пароль в сценарий.