2014-02-17 62 views
0

使用Bash腳本,我試圖將變量的內容上傳到FTP服務器。使用Bash將變量的內容作爲文件上傳到FTP服務器

的變量是$ HASHED,它包含了一些哈希密碼

回聲$ HASHED

上述命令的輸出是:M0eSl8NR40wH

我需要做到以下幾點:

  1. 在FTP中創建時間/日期戳文件erver(即PASSWORD_18_02_2014)
  2. 該文件需要具有相同的$ HASHED值的內容(即PASSWORD_18_02_2014需要M0eSl8NR40wH)。

試圖捲曲,我無法得到它的工作使用下列內容:

UPLOAD="curl -T $HASHED ftp://192.168.0.1/passwords/ --user username:password" 
$UPLOAD 

你的幫助是非常讚賞。

回答

0

像這樣的東西可以幫助你(在Linux Mint的13測試):

#!/bin/bash 

FILENAME=PASSWORD_`date +%d_%m_%Y` 
echo $HASHED >$FILENAME 
ftp -n your_ftp_site <<EOF 
user your_user_name_on_the_ftp_server 
put $FILENAME 
EOF 
rm $FILENAME 

幾個注意事項:

  • 必須導出HASHED,例如當你設置它,將其設置是這樣的:export HASHED=M0eSl8NR40wH
  • 上述假定你將被從終端上運行這一點,並在提示
  • 時,可以輸入您的密碼,您可能需要添加一些的cd命令啓動「的行之後用戶」,並啓動前行‘放’,這取決於你想要把該文件的FTP服務器上

不要忘了使腳本可執行:

chmod u+x your_command_script_name 

你可以在用戶名後面輸入密碼啓動「用戶」,但是這留下了很大的風險,有人可以在FTP服務器上發現你的密碼。至少,使bash命令腳本只能由您讀取:

chmod 700 your_command_script_name 
+0

Thanks Lencho。我會明天嘗試,並回到你身邊。 – Mesopotamia