Как скопировать все файлы из каталога в удаленный каталог с помощью scp?

Мой друг помог мне разобраться в этом - мы использовали bash -l -c, чтобы получить полную оболочку входа в систему для запуска сценария TCL, и, по-видимому, это понравилось намного больше :

start() {
    echo -n "Starting $prog: "
    /bin/bash -l -c '/opt/camelot/register-phones.sh'
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch $LOCKFILE
    echo
    return $RETVAL
}
80
30.09.2015, 11:32
2 ответа

Добавление /.к вашему исходному каталогу приведет к передаче его содержимого вместо самого каталога. В отличие от решения с подстановочными знаками, это также будет включать любые скрытые файлы.

$ scp -r ~/local_dir/. user@host.com:/var/www/html/target_dir

Это решение принадлежит roaima, но я подумал, что оно должно быть опубликовано как фактический ответ, а не только как комментарий.

24
27.01.2020, 19:31

Выполните следующие действия:

  1. Копировать каталог local_dirсо всеми его подкаталогами -:

    scp -r ~/local_dir user@host.com /var/www/html/target_dir
    
  2. скопировать только содержимое local_dir, а не сам каталог local_dir:

    scp -r ~/local_dir/* user@host.com /var/www/html/target_dir
    
  3. Не используйте :scp -r ~/local_dir/. user@host.com /var/www/html/target_dir, так как это выдает ошибку (только что проверено и получено следующее сообщение об ошибке):

    scp: error: unexpected filename:.
    
11
27.01.2020, 19:31

Теги

Похожие вопросы