2013-11-24 69 views
0

枝所有 我想我的應用程序目錄,數據庫備份的備份,然後使用下面的腳本就在HETZNER發送到我的FTP服務器,我得到一些錯誤Ubuntu的FTP腳本 - HETZNER

我的服務器的詳細信息: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. 

我如何通過腳本發送這些文件?

,這將替換現有的文件,而我使用的命令putftpftp server 如果不是我該怎麼辦呢?謝謝

+0

爲什麼不使用'rsync'?這樣你只需複製你需要的文件,而且你不必亂用舊的FTP。 –

+0

任何示例plz? –

+0

請參閱rsync手冊頁:http://linux.die.net/man/1/rsync –

回答

0

我接下來是petrus4的建議,lftp比ftp更適合腳本編寫。

...使用方法打開主機名...錯誤和接下來的是因爲您使用變量$ site_ftp這是空的。你設置的變量是$ site。如果使用open命令執行此操作,則必須刪除ftp://前綴。

約21行的警告,是因爲你用這裏< < EOF這意味着「使用一切,輸入接下來,直到找到這樣一行字:EOF」的文件。但是您沒有一行代碼爲EOF

順便說一句,sshfs與hetzner備份空間非常好地工作。使用sshfs,您可以將備份空間安裝爲分區。非常容易使用。

+0

我做了必要的修改,你說..但它沒有選擇......錯誤消失了..但它仍然說 '(to)用法:open host-name [port] 未連接。 未連接。 未連接。 未連接.' –

+0

什麼是'sshfs' –

+0

http://fuse.sourceforge.net/sshfs.html – kkeller