QuickWeb VPS設置及數據備份

解決apache亂碼問題
環境安裝好后,運行GBK編碼的網站,你會發現網頁顯示的是亂碼,因為apache的默認配置是utf-8
修改apache的配置文件/etc/httpd/conf/httpd.conf

1
AddDefaultCharset UTF-8

改為

1
AddDefaultCharset off

或者修改.htaccess文件,加如下代碼(也可以直接用你的網站編碼,如:GBK)

1
AddDefaultCharset off

讓apache支持.htaccess
修改apache的配置文件/etc/httpd/conf/httpd.conf

1
2
3
4
<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

改為

1
2
3
4
<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

注意修改httpd.conf要重啟apache

1
/etc/init.d/httpd reload

備份數據庫及網站文件腳本

1
vi /home/backup.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#! /bin/php

# MYSQL Setup
DUMP=mysqldump
DBUSER=USER
DBPASS=PASS

# Backup Path
DATADIR=/home/wwwroot
BAKDIR=/home/backup
DATETIME=$(date -d now +%Y%m%d)

# FTP Setup
FTPHOST=HOST
FTPUSER=USER
FTPPASS=PASS

# MKDIR
if [ ! -d $BAKDIR ]; then
 mkdir -p $BAKDIR
fi

# DEL Backup
rm -fr $BAKDIR/data_*.gz

# Backup MYSQL
$DUMP -u$DBUSER -p$DBPASS --all-databases --lock-all-tables | gzip > $BAKDIR/data_mysql_$DATETIME.sql.gz

# Backup Files
tar czPf $BAKDIR/data_files_$DATETIME.tar.gz $DATADIR

# Put data
ftp -n $FTPHOST << EOF
user $FTPUSER $FTPPASS
type binary
put data_mysql_*.gz
put data_files_*.gz
close
quit
EOF

其中的用戶名和密碼以及備份的路徑都改成你網站的。
在SSH中執行

1
2
cd /home
./backup.sh

就會自動備份數據庫及網站文件到你設定的另一個FTP上去

我們還可以設置自動運行這段腳本,讓它在每個星期的3和7自動備份

1
2
crontab –e
0 0 * * 3,7 /bin/php /home/backup.sh

數據庫恢復

1
mysqldump -u用戶名 -p密碼 -h主機 數據庫 < 路徑

例如:

1
mysql -uUSER -pPASS DBNAME < /home/backup/bak.sql

VPS LAMP環境安裝可參考QuickWeb VPS之LAMP環境安裝
VPS FTP及PHPMyAdmin安裝可參考QuickWeb VPS之vsftpd,phpmyadmin安裝
crontab的用法可以看Crontab實例