如何充分利用免費(fèi)香港試用vps做網(wǎng)站備份
在這個數(shù)字時代,網(wǎng)站已經(jīng)成為很多人必不可少的工具。但是,由于各種原因,網(wǎng)站的數(shù)據(jù)可能會受到損失或攻擊,所以做好備份工作更是必要。在這篇文章中,我們將介紹如何利用免費(fèi)香港試用VPS來充分備份我們的網(wǎng)站。
一、注冊免費(fèi)香港試用VPS
首先,我們需要去尋找一個可靠的VPS提供商。常見的提供商包括Vultr、DigitalOcean以及Linode等。這里以Vultr為例,講述注冊流程。
1.訪問Vultr官網(wǎng)并創(chuàng)建賬號;
2.充值10美元;
3.選擇“Servers”選項卡,點擊“Deploy New Server”;
4.選擇香港節(jié)點,并選擇操作系統(tǒng)為CentOS 7;
5.設(shè)置服務(wù)器大小為最小的512MB RAM;
6.設(shè)置“Auto Backups”為ON;
7.設(shè)置“Server Hostname”和“Server Label”,然后點擊“Deploy Now”。
二、搭建FTP服務(wù)器
完成注冊之后,我們需要在服務(wù)器上搭建FTP服務(wù)器,用于備份我們的網(wǎng)站數(shù)據(jù)。接下來,我們需要通過SSH連接到服務(wù)器,并在服務(wù)器上安裝FTP軟件,這里以VSFTPD為例。
1.使用PuTTY連接到VPS,輸入用戶名和密碼;
2.安裝VSFTPD:sudo yum install vsftpd;
3.啟動VSFTPD:sudo systemctl start vsftpd;
4.在防火墻上開放FTP端口20和21:sudo firewall-cmd --permanent --add-port=20-21/tcp;
5.重載防火墻規(guī)則:sudo firewall-cmd --reload。
三、配置FTP用戶
在搭建FTP服務(wù)器之后,我們需要通過創(chuàng)建FTP用戶來訪問FTP服務(wù)器。這里我們創(chuàng)建一個叫做“backup”的FTP用戶。
1.創(chuàng)建FTP用戶組:sudo groupadd ftpusers;
2.創(chuàng)建FTP用戶:sudo useradd -g ftpusers -d /srv/ftp/backup -s /sbin/nologin backup;
3.設(shè)置FTP用戶密碼:sudo passwd backup;
4.設(shè)置FTP用戶目錄權(quán)限:sudo chown backup:ftpusers /srv/ftp/backup,sudo chmod 570 /srv/ftp/backup;
5.編輯VSFTPD配置文件:sudo vi /etc/vsftpd/vsftpd.conf;
6.找到以下配置項并設(shè)置:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
7.保存并關(guān)閉文件;
8.重啟VSFTPD:sudo systemctl restart vsftpd。
四、配置自動備份
現(xiàn)在我們已經(jīng)成功地搭建了FTP服務(wù)器并創(chuàng)建了FTP用戶組和FTP用戶,接下來我們需要進(jìn)行自動備份的配置。這里我們用vnStat監(jiān)控每天的網(wǎng)絡(luò)流量情況,并使用rsnapshot進(jìn)行增量備份。
1.安裝vnStat:sudo yum install vnstat;
2.啟動vnStat:sudo systemctl start vnstat;
3.設(shè)置vnStat開機(jī)自啟:sudo systemctl enable vnstat;
4.編輯vnStat配置文件:sudo vi /etc/vnstat.conf;
5.找到以下配置項進(jìn)行設(shè)置:
Interface "eth0"
DayFormat "%y-%m-%d"
DayCmd "rsnapshot daily"
WeekFormat "%y-%m-%d"
WeekCmd "rsnapshot weekly"
MonthFormat "%y-%m-%d"
MonthCmd "rsnapshot monthly"
YearFormat "%y-%m-%d"
YearCmd "rsnapshot yearly"
6.保存并關(guān)閉文件;
7.安裝rsnapshot:sudo yum install rsnapshot;
8.編輯rsnapshot配置文件:sudo vi /etc/rsnapshot.conf;
9.找到以下配置項進(jìn)行設(shè)置:
snapshot_root /var/rsnapshot/
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
retain daily 7
retain weekly 4
retain monthly 12
retain yearly 1
backup_script /var/rsnapshot/scripts/backup.sh backup/
backup_script /var/rsnapshot/scripts/db_backup.sh db/
10.保存并關(guān)閉文件;
11.創(chuàng)建script目錄:sudo mkdir -p /var/rsnapshot/scripts;
12.創(chuàng)建backup.sh備份腳本:sudo vi /var/rsnapshot/scripts/backup.sh,并輸入以下代碼:
#!/bin/bash
source /etc/profile
[ ! -d "/srv/ftp/backup/daily.0/" ] && mkdir -p /srv/ftp/backup/daily.0/
rsync -avz --delete --exclude-from '/var/rsnapshot/exclude.txt' /var/www/ /srv/ftp/backup/daily.0/
13.創(chuàng)建db_backup.sh數(shù)據(jù)庫備份腳本:sudo vi /var/rsnapshot/scripts/db_backup.sh,并輸入以下代碼:
#!/bin/bash
source /etc/profile
[ ! -d "/srv/ftp/backup/database/" ] && mkdir -p /srv/ftp/backup/database/
mysqldump -uroot -p'password' --all-databases | xz > /srv/ftp/backup/database/all.sql.xz
14.保存并關(guān)閉文件;
15.設(shè)置備份腳本權(quán)限:sudo chmod +x /var/rsnapshot/scripts/backup.sh,sudo chmod +x /var/rsnapshot/scripts/db_backup.sh;
16.編輯rsnapshot的exclude文件,排除一些不需要備份的文件和目錄:sudo vi /var/rsnapshot/exclude.txt,并輸入以下內(nèi)容:
.cache/
logs/
tmp/
*.log
*.tmp
*.pid
error_log
access_log
17.保存并關(guān)閉文件;
18.創(chuàng)建快照目錄:sudo mkdir -p /var/rsnapshot/{daily.0,daily.1,weekly.0,weekly.1,weekly.2,weekly.3,monthly.0,monthly.1,monthly.2,monthly.3,monthly.4,monthly.5,monthly.6,yearly.0};
19.測試備份:sudo rsnapshot -t daily;
20.如果沒有出現(xiàn)錯誤,就執(zhí)行備份:sudo rsnapshot daily。
到此,我們已經(jīng)成功地配置了自動備份的流程,并且將備份數(shù)據(jù)存儲在FTP服務(wù)器上,即使發(fā)生了突發(fā)事件,我們的網(wǎng)站數(shù)據(jù)也可以得到充分的保護(hù)。