Linux下備份數(shù)據(jù)庫(kù)和網(wǎng)站目錄上傳到ftp
終于搞定了,難為我這個(gè)菜鳥了
事實(shí)證明,在hostloc還是學(xué)到不少的東西
http://www.acyoo.com/?p=707
自從開通了GD那10G的空間,就開始著手研究備份數(shù)據(jù)庫(kù)和網(wǎng)站目錄了,完美解決。之所以不用tar.gz來(lái)壓縮網(wǎng)站目錄,是因?yàn)橛眠@個(gè)東西,壓一次,就發(fā)一次郵件到root,幾天就占了好多,一努之下,用了zip,卻發(fā)現(xiàn)不發(fā)郵件了。
用上了vps,經(jīng)過(guò)多方查找,終于搞定了適合于自已的vps備份方案。以下方案在lnmp0.4(http://www.acyoo.com/?p=481)環(huán)境中測(cè)試成功。
我們可以把網(wǎng)站目錄和數(shù)據(jù)庫(kù)備份到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,權(quán)限755,放在home目錄下面
然后
crontab -e
輸入
12 05 * * * /home/backup.sh
意思就是早晨5點(diǎn)12分備份數(shù)據(jù)庫(kù)和網(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í)現(xiàn)ftp自動(dòng)上傳
比如先選擇一個(gè)目錄存儲(chǔ)你的備份腳本 /var/backup/ 1.備份一個(gè)目錄 #!/bin/sh //注意,一定要加exit,不然退不出這個(gè)腳本,執(zhí)行不了下一個(gè) 2.上傳目錄下的tar.gz文件 cd /root/bakup mput 001.tar.gz quit 同時(shí)加入這兩個(gè)腳本的權(quán)限 chmod 755 bakup.sh chmod 755 ftp.sh 3.加入crontab計(jì)劃任務(wù) vi /etc/crodtab 在最后一行中加入:(一般原來(lái)是空的) 意思是每天的8點(diǎn)和18點(diǎn)備份文件,同時(shí)隔3分鐘后上傳
#/etc/rc.d/init.d/crond restart 5.設(shè)置crond在每次系統(tǒng)啟動(dòng)時(shí)都自動(dòng)運(yùn)行 |
聯(lián)系客服