Может кто-нибудь дать мне знать, как мы можем скопировать файл с одного сервера на другой в cron. Я знаю о scp
, но как мы используем его в cron, так как нам нужно передать пароль.
Отредактировано
Я нашел эту ссылку Ожидается сценарий, который вводит имя пользователя и пароль
Может кто-нибудь помочь мне сделать это. Я чрезвычайно новичок в Ubuntu,
У Вас есть две основных опции:
плохой: используйте что-то как 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, но на основе страницы справочника, заключенной в кавычки выше, Вы не можете предположить, что это будет всегда иметь место.
лучший: установка passwordless ssh для пользователя, который должен работать эти scp
команда. Если Вы не хотите делать это для своего обычного пользователя, просто создавать нового пользователя и выполнять crontab как тот пользователь.
, С другой стороны, можно настроить его наоборот. Вместо того, чтобы иметь пользователя на machineA копирование файла от machineB, имейте пользователя на копии machineB файл к machineA вместо этого.
Да, можно сделать это с expect
сценарий, но те же проблемы безопасности будут применяться, если Вы захотите включать пароль в сценарий.