1. Các công cụ cần dùng
Mysqlmydumper
gdrive
HocVps Script
Đầu tiên mình cài đặt HocVps Script, cách cài như thế nào các bạn vui lòng lên trang chủ hocvps để tìm hiểu.
Sau khi cài xong mình vào thư mục domain chính ở mục private_html mình cài thêm Mysqldumper bản mới nhất.
2. Cài đặt drive
a. Tải file drive
wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg mv drive /usr/sbin/drive chmod 755 /usr/sbin/drive
Nếu bạn chưa có wget có thể cài đặt bằng lệnh sau yum install wget -y
b. Thực thi drive và lấy token google drive
Bạn gõ vào drive
sau đó bạn sao chép mã token về cửa sổ SSH
Như vậy là thành công.
c. Tạo script upload như sau:
nano /root/autobackup.sh
Copy nội dung sau
#!/bin/bash perl /home/............../private_html/mysqldumper/msd_cron/crondump.pl -config=mysqldumper -html_output=0 LOCALFOLDER=/backup GFOLDERID=0B5I8-U7RcQGieF9rYmNudkkwQWM LOCALFOLDERHOME=/home DATEE=$(date +"%d-%m-%Y") TIMESTAMP=$(date +"%d-%m-%Y_%H-%M") mkdir -p /backup/$TIMESTAMP/ for i in $(ls $LOCALFOLDERHOME) do zip -r /backup/$TIMESTAMP/$i"_"$TIMESTAMP.zip /home/$i -q -x /home/$i/public_html/wp-content/cache/**\* echo /backup/$TIMESTAMP/$i"_"$TIMESTAMP.zip " -> DONE!"; done for i in $(ls $LOCALFOLDER) do drive upload --file /backup/$i -p $GFOLDERID rm -rf /backup/$i/ done
LOCALFOLDER là vị trí thư mục chứa files backup của bạn trên servers
GFOLDERID là ID folder trên google drive sẽ lưu trữ file backup của bạn
“………” bạn thay đổi cho phù hợp, có thể lấy từ Perl Mysqldumper
Cách lấy Google Drive Folder ID
– Đăng nhập vào tài khoản google drive của bạn, và tạo folder
Quan sát đường dẫn, https://drive.google.com/drive/u/0/folders/XXXXXXXXXXXXXXXXXXXXXXXXXX
ID của bạn có dạng XXXXXXXXXXXXXXXXXXXXXXXXXX
Sau khi hoàn thành các phần khai báo bạn, ấn lần lượt các phím sau “Ctrl + X“, Y , [Enter] để lưu lại file thực thi
- bạn nhớ chmod 777 đối với autobackup.sh
- tạo thư mục /backup/ ngang hàng với /home/ và phải chmod 777
mkdir /backup/ chmod -R 777 /backup/ chmod -R 777 /root/autobackup.sh
3. Hẹn giờ tự động tạo backup và upload lên drive
EDITOR=nano crontab -e
chèn vào nội dung sau để tạo backup lúc 0h00 hằng ngày:
0 0 * * * sh /root/autobackup.sh
Sau đó bấm ctrl+x; nhấn y, và enter.
Sau đó khởi động lại cron daemon:
/etc/init.d/crond restart
Lưu ý thêm nếu Perl của mysqldumper lỗi, thì bạn hãy thử chạy câu lệnh sau
yum install "perl(DBD::mysql)" yum install perl-CGI
Chúc bạn thành công.