2017-08-26 46 views
0

我想將所有更改的文件上傳到我的FTP服務器。但是,當我使用-bb標誌時,我不能使用-S .tmp-v - 我無法在ncftpbatch之間使用這些選項。這裏是我的代碼:NcFTP -S與-bb

#!/bin/bash -eo pipefail 
IN=$(git diff-tree --no-commit-id --name-only -r HEAD) 
OUT=$(echo $IN | tr ";" "\n") 
for file in "${OUT[@]}"; do 
    ncftpput -bb -S .tmp -v -u "[email protected]" -p "*****" ftp.kolechia.heliohost.org "/" $file 
done 
ncftpbatch 

正如你所看到的,我需要的-S .tmp避免上傳過程中打破了現場。 -v提供輸出以防止我的CI服務超時。

如何僅上載更改的文件 - 不暫時中斷網站?我正在考慮爲每個文件分別登錄,但這是不好的做法。

+0

爲什麼不能在後臺啓動一個函數,它只是打印出的僞值「如上傳,請等待「,然後睡幾秒鐘再重複一次。在循環之外,您可以殺死該後臺作業。 –

+0

@TarunLalwani我的程序輸出的所有內容都由CI服務器緩存 - 如果作業失敗,那麼它都會通過電子郵件發送給我。我不希望收件箱中包含「正在上傳,請稍候...正在上傳,請稍候...」。不過,這是個好主意。 – StellarDoor5319

+0

你可以試試'printf'\ 0「'或'printf」a \ b「'看看是否有幫助。這不會添加不必要的信息 –

回答

1

爲什麼不在後臺啓動一個只打印虛擬值的函數,如uploading, please wait,然後睡幾秒鐘再重新執行一次。外循環,你可以殺死後臺作業

如果你不希望任何輸出

printf "\0" 

printf "a\b"