【问题标题】:ubuntu FTP script - hetznerubuntu FTP 脚本 - hetzner
【发布时间】:2013-11-24 09:02:26
【问题描述】:

大家好 我正在尝试备份我的应用程序目录,数据库备份,然后使用以下脚本将其发送到我在 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.

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

当我在ftpftp server 中使用命令put 时,这是否会替换现有文件 如果不是,我该怎么做?谢谢你

【问题讨论】:

  • 为什么不使用rsync?这样,您只需复制您需要的文件,而不必弄乱旧的 FTP。
  • 查看 rsync 手册页:linux.die.net/man/1/rsync
  • 我刚试过这个命令 rsync -avz --progress /home/manideep/hetznerftp/ u*****@u*****.your-backup.de/ 我得到了这个输出`发送增量文件列表创建目录u77751@u77751.your-backup.de./openbravo-erp.tar.gz 1097923138 100% 43.68MB/s 0:00:23 (xfer#1, to-check=1/3 ) rajedb.backup 1969128727 100% 48.57MB/s 0:00:38 (xfer#2, to-check=0/3) sent 3068081636 bytes received 53 bytes 48316247.07 bytes/sec total size is 3067051865 speedup is 1.00 when我登录了 ftp 我找不到我的文件
  • 如果我尝试这个 rsync:rsync -avzhe ssh /home/manideep/hetznerftp u*****@u*****.your-backup.de 它正在本地创建一个文件并与之同步.. 不是我的 ftp 服务器
  • 远程主机名后面需要:,所以应该是:rsync -av /home/manideep/hetznerftp/ u*****@u*****.your-backup.de:&lt;remote path goes here, if needed&gt;/

标签: shell ftp backup ubuntu-12.04 robot


【解决方案1】:

我赞同 petrus4 的建议,lftp 比 ftp 更适合脚本编写。

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

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

顺便说一句,sshfs 与 hetzner 备份空间配合得非常好。使用 sshfs,您可以像挂载分区一样挂载备份空间。非常容易使用。

【讨论】:

  • 我做了你说的必要的改变..但它没有工作..错误消失了..但它仍然说(to) usage: open host-name [port] Not connected. Not connected. Not connected. Not connected.
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-11
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    相关资源
    最近更新 更多