Вывод: я хочу настроить сценарий bash для передачи одного файла с Synology DS на маршрутизатор dd-wrt (Netgear WNR3500Lv1).
Проблема: роутер позволяет мне писать только в папку /tmp
, которая стирается после перезагрузки. Вместо того, чтобы проверять, перезагрузился ли маршрутизатор, я хотел бы просто каждое утро автоматически отправлять на него файл ("hosts").
Решение, которое не сработало: аналогичный вопрос задавался ранее (Автоматизировать передачу файла scp с помощью сценария оболочки), однако ни один из ответов не работает для меня. В оболочке Synology DS нет обязательных команд: expect
, spawn
, interact
или sshpass
. rsync
у него есть, а у роутера его нет.
Решение с ключами SSH у меня тоже не работает, потому что я не могу ничего постоянно писать в роутер -> поэтому после перезагрузки настройка пропадает.
Вопрос: есть ли способ добавить необходимые команды в оболочку DS? Или, возможно, более простой способ сделать это - чтобы это могло происходить автоматически без запроса пароля?
cron
позаботится о его автоматическом запуске, это его работа :-) - person Poshi   schedule 25.04.2019cat file | ssh user@server sh -c 'cat > outfile'
. Да, речь идет о ssh к маршрутизатору, поскольку вы используетеscp
, который представляет собой протокол, основанный наssh
. Если вы решите проблему автоматизации подключения с помощью ssh, вы можете скопировать свои файлы или даже (смотря наsshfs
) использовать для этого rsync. - person KamilCuk   schedule 26.04.2019scp
, потому что он запрашивает пароль... - person Michal J Figurski   schedule 26.04.2019echo password
и передает этот скриптSSH_ASKPASS=this_script
..... - person KamilCuk   schedule 26.04.2019