2012-03-07 2 views
1

Я пытаюсь создать сценарий оболочки, который загружает дерево локального каталога на удаленный сервер. Эта часть кода работает нормально. Однако, когда я добавляю команду chmod, я получаю оболочку ncftp>.необходимо ввести скрипт оболочки NCFTP

Может кто-нибудь помочь мне? Это код, у меня есть:

#!/bin/bash 
echo "Afbeeldingen uploaden..." 
ncftpput -Rvm -u "username" -p "password" domain.com /domains/domain.com/public_html/wp-content/gallery /Shared\ Items/Beeld/LowRes/* 
ncftp -u "username" -p "password" domain.com 
ncftp chmod -R 777 /domains/domain.com/public_html/wp-content/gallery/* 
quit 
echo "Klaar!" 
exit 

ответ

0

Можно добавить команду chmod к команде ncftpput непосредственно.

Опция -X может использоваться для выполнения команды для каждого из загружаемых файлов. Ниже приведен пример с одним файлом, который должен быть исполняемым на сервере:

ncftpput -u "username" -p "password" domain.com \ 
-X "chmod 0755 /remotepath/hello_world" /remotepath /localpath/hello_world 

Можно использовать %s, чтобы соответствовать каждому из загруженных файлов.

ncftpput -u "username" -p "password" domain.com \ 
-X "chmod 0755 %s" /remotepath localpath/* 

Опция -d put.log помогла мне проследить мою проблему вниз. Это означает, что для файла% s используется локальный путь к файлу. Таким образом, местный путь и удаленная связь должны быть связаны.

Документация к ncftpput также доступна в Интернете: http://www.ncftp.com/ncftp/doc/ncftpput.html.

Смежные вопросы