Я пытаюсь создать shell
скрипт для копирования файлов в удаленную резервную копию.
Это мой сценарий:
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
.