ubuntu FTP脚本 - hetzner

时间:2013-11-24 09:02:26

标签: shell ftp backup ubuntu-12.04 robot

全部 我正在尝试备份我的应用程序目录,数据库备份,然后通过使用以下脚本将其发送到我在hetzner的ftp服务器上,我得到的错误很少

我的服务器详细信息:ubuntu12-04(在hetzner中) 数据库:postgresql8.4 我的ftp服务器:hetzner 试图在ubuntu12.04服务器上进行备份并在ftp我的服务器中复制 在link

后面有一个示例脚本

bakupscript.sh

site=ftp://u***.your-backup.de
username=u***
passwd=*******************
backupdir=/opt/openbravo-erp
filenameob="openbravo-erp.tar.gz"

echo "Creating a ob backup file $filenameob of $backupdir."

# Make a tar gzipped backup file
tar -cvzf /home/hetznerftp/"$filenameob" "$backupdir"

echo "creating a db backup file $filenamedb of ob database."
export PGPASSWORD="*my db password*"
backup_dir="/home/manideep/hetzner/"
#String to append to the name of the backup files
pg_dump -h localhost -U tad openbravo -Fc $i > $backup_dir$i\rajedb.backup

#login into ftp server
ftp -in <<EOF
open $ftp_site
user $username $passwd
bin
put /home/manideep/hetzner$filenameob 
put /home/manideep/hetznerftp/pgdump.backup
close 
bye
EOF

当我尝试通过命令./backupscript.sh

执行该脚本时

我收到以下错误

Creating a backup file openbravo-erp.tar.gz of /opt/openbravo-erp.
creating a db backup file  of ob database.
(to) usage: open host-name [port]
Not connected.
Not connected.
Not connected.
Not connected.

如何通过脚本发送这些文件?

并且当我在put的{​​{1}}中使用命令ftp时,这将替换现有文件 如果不是我该怎么做?三江源

2 个答案:

答案 0 :(得分:0)

获取lftp。 http://lftp.yar.ru/

您编写的脚本可能适用于此。

答案 1 :(得分:0)

我是第二个petrus4的建议,lftp比ftp更适合编写脚本。

... usage open host-name ... 错误以及后面的内容是因为您使用的变量$ site_ftp为空。您设置的变量是$ site。如果使用open命令执行此操作,则必须删除ftp://前缀。

关于第21行的警告是因为你使用带有&lt;&lt;&lt; EOF 的here文档,这意味着“使用后面的所有内容作为输入,直到找到一行读取 EOF ”。但是你没有一行读取 EOF

顺便说一句,sshfs与hetzner备份空间的效果非常好。使用sshfs,您可以像备份一样挂载备份空间。非常容易使用。