linuxでVPS無料バックアップスクリプトを実現

2288 ワード

どうしてバックアップしないの?この問題は私も考えたことがありますが、実はあなたはこのような海外のvpsなどに対して、すべてのサイトをバックアップして何と言っても百十兆ドルかかると思ったことがありますか.
毎日ダウンロードできないでしょう?この帯域幅は我慢できません.帯域幅が十分でも、vpsがいつダウンロードされるか分からないと言っています.
OK~本題に入り、まずこの無料バックアップの問題を話しますが、実際には無料ではありません.ただ、前提があります.それはあなたがgodaddyにいることです.comの买ったドメイン名があって、みんなはすべてgodaddyの上でドメイン名を买って无料で空间を申请することができることを知っていて、これを使わないのにとって本当にもったいないので、今日のテーマはあれらのgodaddyでドメイン名を买ったことがあって无料の空间がある盆友(godaddyでドメイン名を申请して空间がないのは度娘谷兄に闻くことができます)
では、vpsをバックアップする原理はshellスクリプトを利用してウェブサイトとデータベースをバックアップし、ftpスクリプトバーを通じてバックアップファイルをgodaddyの無料空間にアップロードすることです.簡単でしょう.
それでは私は直接シナリオに行きます~へへ.
次は、Webサイトとデータベースをバックアップするスクリプトです.
 
  
#!/bin/bash
#set -x
time=`date +%Y%m%d`
# MySql
[ ! -e /backup/sqltmp ] && mkdir -p /backup/sqltmp # mysql
[ ! -e /backup/backsql ] && mkdir -p /backup/backsql # mysql
cd /backup/sqltmp
sql=`mysqlshow -u -p |grep -v + | grep -Ev “Data|information|mysql|test” | awk {‘print $2′}` # mysql ,
for sqlname in $sql
do
mysqldump -u -p $sqlname > $sqlname.sql
done
tar zcvf backsql.$time.tar.gz *.sql
rm -rf *.sql
mv * ../backsql/.
cd ..
rm -rf sqltmp
#
[ ! -e /backup/webtmp ] && mkdir -p /backup/webtmp # web
[ ! -e /backup/backweb ] && mkdir -p /backup/backweb # web
cd /backup/webtmp
tar zcvf backweb.$time.tar.gz /home/*
mv * ../backweb/.
cd ..
rm -rf webtmp

次はftpでバックアップサイトをgodaddy空間にアップロードするスクリプトです.
 
  
#!/bin/bash
backsql=`cd /backup/backsql;ls -r backsql* | head -1` #
backweb=`cd /backup/backweb;ls -r backweb* | head -1`
ftp -n<open ip # godaddy ip
user ftp ftp
binary
cd /back/ # ftp
lcd /backup/backsql/ # mysql
prompt
mput $backsql
lcd /backup/backweb/ # web
mput $backweb
close
bye
EOF

そして、この2つのスクリプトをcrontab計画タスクにすると、毎日の定時的なオフサイトバックアップが実現され、時間とコストが節約されます.
 
  
[[email protected] ~]# crontab -e
01 0 * * * /root/backup.sh
0 5 * * * /root/ftp.sh