2012-03-07 112 views
1

我正在嘗試創建一個將本地目錄樹上傳到遠程服務器的shell腳本。 這部分代碼正常工作。然而,當我添加chmod命令時,我得到了ncftp> shell。需要在NCFTP shell腳本上輸入

有人可以幫我嗎?這是我的代碼有:

#!/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。所以localpath和remotepath應該是相關的。

ncftpput的文檔也可以在線獲取:http://www.ncftp.com/ncftp/doc/ncftpput.html