2014-02-17 31 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