全部 我正在尝试备份我的应用程序目录,数据库备份,然后通过使用以下脚本将其发送到我在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
时,这将替换现有文件
如果不是我该怎么做?三江源
答案 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,您可以像备份一样挂载备份空间。非常容易使用。