Я пытаюсь создать сценарий оболочки
для копирования файлов в удаленную резервную копию.
Это мой сценарий:
PASSWORD=MY-SECRET-PASS
URL=SLOS755513-3:SL1255513@objectstorage.net
DIR=/backup
scp /home/user/my_log.txt $URL:$DIR
Но я получаю сообщение об ошибке:
ssh: Could not resolve hostname SLOS755513-3: Name or service not known
lost connection
Думаю, это из-за специальных символов в имени пользователя, потому что, если я просто напишу test
, вместо этого он фактически попытается подключиться к test
как пользователь.
Но я ' Я пытался избежать \ -
и \:
, и все выдает ту же ошибку.
Я также не знаю, как использовать пароль в сценарии.
Попробуйте что-то вроде этого:
RUSER='SLOS755513-3:SL1255513'
HOST=objectstorage.net
DIR=/backup
scp -o user=$RUSER /home/user/my_log.txt $HOST:$DIR
Это сделает пользовательскую часть явной, поэтому scp
не попробуйте интерпретировать :
как разделитель хоста / пути. -o user = $ USER
отправит пользователя в качестве опции в базовый ssh
.