Linux下備份數據庫和網(wǎng)站目錄上傳到ftp
終于搞定了,難為我這個(gè)菜鳥(niǎo)了
事實(shí)證明,在hostloc還是學(xué)到不少的東西
http://www.acyoo.com/?p=707
自從開(kāi)通了GD那10G的空間,就開(kāi)始著(zhù)手研究備份數據庫和網(wǎng)站目錄了,完美解決。之所以不用tar.gz來(lái)壓縮網(wǎng)站目錄,是因為用這個(gè)東西,壓一次,就發(fā)一次郵件到root,幾天就占了好多,一努之下,用了zip,卻發(fā)現不發(fā)郵件了。
用上了vps,經(jīng)過(guò)多方查找,終于搞定了適合于自已的vps備份方案。以下方案在lnmp0.4(http://www.acyoo.com/?p=481)環(huán)境中測試成功。
我們可以把網(wǎng)站目錄和數據庫備份到ftp空間去,腳本如下
#! /bin/bash
cd /home/www/
/usr/local/mysql/bin/mysqldump --databases db1 db2 db3 -uroot -ppass |gzip > mysql.tar
zip -q -r webname.zip web1 web2
ftp -vn x.x.x.x << autoftp
user name pass
type binary
put mysql.tar mysql.tar
put webname.zip webname.zip
close
quit
autoftp
把以上腳本保存為backup.sh,權限755,放在home目錄下面
然后
crontab -e
輸入
12 05 * * * /home/backup.sh
意思就是早晨5點(diǎn)12分備份數據庫和網(wǎng)站目錄
*******************************************************
#!/bin/bash
#Remote FTP Server
ftpUid="linzh"
ftpPasswd="myFtpPasswd"
ftpServer="linzh.stu.edu.cn"
ftpPort=21
orgDir="/html"
tmpDir="/tmp"
ext=".tar.gz"
backFile=`date +%Y-%m-%d`
FILE=$backFile$ext
echo $tmpDir$FILE
tar -czvf $tmpDir$FILE $orgDir
echo "Finish tar step...Start FTP BACKUP"
cd $tmpDir
ftp -i -in <<!
open $ftpServer $ftpPort
user $ftpUid $ftpPasswd
cd /
mput $FILE
bye
rm -f $FILE
***************************************
Linux下自動(dòng)備份文件夾并實(shí)現ftp自動(dòng)上傳
| 比如先選擇一個(gè)目錄存儲你的備份腳本 /var/backup/ 1.備份一個(gè)目錄 #!/bin/sh //注意,一定要加exit,不然退不出這個(gè)腳本,執行不了下一個(gè) 2.上傳目錄下的tar.gz文件 cd /root/bakup mput 001.tar.gz quit 同時(shí)加入這兩個(gè)腳本的權限 chmod 755 bakup.sh chmod 755 ftp.sh 3.加入crontab計劃任務(wù) vi /etc/crodtab 在最后一行中加入:(一般原來(lái)是空的) 意思是每天的8點(diǎn)和18點(diǎn)備份文件,同時(shí)隔3分鐘后上傳
#/etc/rc.d/init.d/crond restart 5.設置crond在每次系統啟動(dòng)時(shí)都自動(dòng)運行 |
聯(lián)系客服