我是相對性新手腳本等,但我試圖做一個腳本,將運行在特定的時間,將網絡驅動器備份到非現場的目的地。Linux腳本編寫的問題
我的命令手動工作,並已找出的時機,但試圖運行腳本時,我收到以下錯誤:
cd /volume1/Data
lftp -u [username],[password] [Destination]
Mirror [directoryname] -R -n
不能cd到的volume1 /數據,3號線鏡不找到。
我必須檢查大小寫和拼寫。
嗯
我是相對性新手腳本等,但我試圖做一個腳本,將運行在特定的時間,將網絡驅動器備份到非現場的目的地。Linux腳本編寫的問題
我的命令手動工作,並已找出的時機,但試圖運行腳本時,我收到以下錯誤:
cd /volume1/Data
lftp -u [username],[password] [Destination]
Mirror [directoryname] -R -n
不能cd到的volume1 /數據,3號線鏡不找到。
我必須檢查大小寫和拼寫。
嗯
Mirror
是lftp的命令,並且lftp的處理結束後,這不會發生,因爲程序是交互式的,並等待輸入的腳本執行它,就好像它是一個外殼命令。你需要做的是通過lftp的命令lftp的標準輸入:
cd /volume1/Data
echo "Mirror [directoryname] -R -n" | lftp -u [username],[password] [Destination]
或者,你可以使用的lftp的能力,執行腳本(檢查手冊-f
選項)和獨立的lftp命令到一個單獨的文件,然後將此文件傳遞給lftp,或查看-e
選項。它允許您將lftp命令內聯到參數列表中。
您需要通過mirror
命令lftp
:
cd /volume1/Data
user=joe
passwd=foo
host=myhost
dir=somedir
lftp -e "mirror $dir -R -n" -u $user,$passwd $host
-ash:CD:線路1:斜面光盤目錄 – Ranger
你確定目錄是否存在,你有權限訪問它? – dogbane
它確實有一個它的登錄,如果它包含在腳本中? – Ranger