Hướng dẫn Script backup/restore dành cho Rclone

tri78

Moderator
Thành viên BQT
Tham gia
13/05/2015
Bài viết
438
Được Like
335
Việc cài đặt Rclone trên linux các bạn google nhé! Mình lười viết quá. Mình chỉa sẻ các bạn một số script backup/restore lên google drive và Ondrive.
1. Script backup nguyên cả thư mục user (có bao nhiêu web của user nó gom hết). Và tất cả SQL (kể cả user khác).
Mã:
#!/bin/bash

SERVER_NAME=vietboot

TIMESTAMP=$(date +"%d-%m-%Y")
TIMESTAMP1=$(date +"%m")
 TIMESTAMP2=$(date +"%Y")
BACKUP_DIR="/backupfile/$TIMESTAMP"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump
SECONDS=0

mkdir -p "$BACKUP_DIR/mysql"

echo "Starting Backup Database";
databases=`$MYSQL -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema|mysql)"`

for db in $databases; do
$MYSQLDUMP --force --opt $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done
echo "Finished";
echo '';

echo "Starting Backup Website";
# Loop through /home directory
for D in /home//admin/web/*; do
if [ -d "${D}" ]; then #If a directory
domain=${D##*/} # Domain name
echo "- "$domain;
zip -r $BACKUP_DIR/$TIMESTAMP.zip /home/admin/web/ -q -x /home/admin/web/vietboot.com/**\* /home/admin/web/thcsductrach.edu.vn/**\* #Exclude cache
fi
done
echo "Finished";

echo "Starting Backup Sub Website";
# Loop through /home directory
for D in /home//drhoasieuam/web/*; do
if [ -d "${D}" ]; then #If a directory
domain=${D##*/} # Domain name
echo "- "$domain;
zip -r $BACKUP_DIR/hoa.zip /home/drhoasieuam/web/  -q -x /home/admin/web/vietboot.com/**\*  #Exclude cache
fi
done
echo "Finished";

size=$(du -sh $BACKUP_DIR | awk '{ print $1}')

 echo "Đang upload lên Google Drive";
/usr/sbin/rclone --transfers=1 copy $BACKUP_DIR "vietboot:Backup/all/$TIMESTAMP2/$TIMESTAMP1/$TIMESTAMP" >> /var/log/rclone.log 2>&1
 echo "Đang upload lên One Drive";
 /usr/sbin/rclone --transfers=1 move $BACKUP_DIR "microsoft:Backup/all/$TIMESTAMP2/$TIMESTAMP1/$TIMESTAMP" >> /var/log/rclone.log 2>&1

# Clean up
rm -rf $BACKUP_DIR
#/usr/sbin/rclone -q --min-age 50w delete "remote:$SERVER_NAME" #Remove all backups older than 2 week
#/usr/sbin/rclone -q --min-age 50w rmdirs "remote:$SERVER_NAME" #Remove all empty folders older than 2 week
#/usr/sbin/rclone cleanup "remote:" #Cleanup Trash
echo "Finished";
echo '';

duration=$SECONDS
echo "Total $size, $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
Chú giải vài đoạn cho bạn nào chưa hiểu:
Mã:
ip -r $BACKUP_DIR/$TIMESTAMP.zip /home/admin/web/ -q -x /home/admin/web/vietboot.com/**\* /home/admin/web/thcsductrach.edu.vn/**\* #Exclude cache
Dòng này là backup all nhưng loại trừ folder thcsductrach.edu.vn.
Mã:
#/usr/sbin/rclone -q --min-age 50w delete "remote:$SERVER_NAME" #Remove all backups older than 2 week
#/usr/sbin/rclone -q --min-age 50w rmdirs "remote:$SERVER_NAME" #Remove all empty folders older than 2 week
#/usr/sbin/rclone cleanup "remote:" #Cleanup Trash
Mấy dòng này là lên lịch xóa file/folder trên đám mây dành cho bạn nào dung lượng đám mây ít.
2. Backup 1 Data nào đó.
Mã:
SERVER_NAME=vietboot
TIMESTAMP=$(date +"%d-%m-%Y")
TIMESTAMP1=$(date +"%m")
 TIMESTAMP2=$(date +"%Y")
BACKUP_DIR="/backupfile/$TIMESTAMP"
 SECONDS=0
 mkdir -p "$BACKUP_DIR/mysql"
 echo "Đang backup SQL";
 mysqldump admin_forum | gzip > $BACKUP_DIR/forum.sql.gz
 echo "Đang upload lên Google Drive";
 /usr/sbin/rclone --transfers=1 copy $BACKUP_DIR "vietboot:Backup/sql/$TIMESTAMP2/$TIMESTAMP1/$TIMESTAMP" >> /var/log/rclone.log 2>&1
 echo "Đang upload lên One Drive";
 /usr/sbin/rclone --transfers=1 copy $BACKUP_DIR "microsoft:Backup/sql/$TIMESTAMP2/$TIMESTAMP1/$TIMESTAMP" >> /var/log/rclone.log 2>&1
# Clean up
rm -rf $BACKUP_DIR
 echo "Hoàn thành"; echo '';
#/usr/sbin/rclone -q --min-age 2m delete "remote:$SERVER_NAME" #Remove all backups older than 2 week /usr/sbin/rclone -q
#--min-age 2w rmdirs "remote:$SERVER_NAME" #Remove all empty folders older than 2 week /usr/sbin/rclone cleanup "remote:"
##Cleanup Trash
duration=$SECONDS
echo "Hoàn thành."
3. Restore SQL từ đám mây
Mã:
SERVER_NAME=vietboot
TIMESTAMP=$(date +"%d-%m-%Y")
TIMESTAMP1=$(date +"%m")
TIMESTAMP2=$(date +"%Y")
BACKUP_DIR="/backup/$TIMESTAMP"
SECONDS=0

#mkdir -p "$BACKUP_DIR/mysql"

echo "Đang tải SQL về";
/usr/sbin/rclone copy "vietboot:Backup/sql/$TIMESTAMP2/$TIMESTAMP1/$TIMESTAMP/sync/forum.sql" /$BACKUP_DIR/
echo "Đang Restore SQL"
mysql admin_forum < $BACKUP_DIR/forum.sql

# Clean up
rm -rf $BACKUP_DIR

echo "Hoàn thành";
4. Tải file từ đám mây về và unzip
Mã:
SERVER_NAME=vietboot
TIMESTAMP=$(date +"%d-%m-%Y")
TIMESTAMP1=$(date +"%m")
TIMESTAMP2=$(date +"%Y")
BACKUP_DIR="/backup/$TIMESTAMP"
SECONDS=0

#mkdir -p "$BACKUP_DIR/mysql"

echo "Đang tải files về";
/usr/sbin/rclone copy "vietboot:/Backup/code22x/2021/09/06-09-2021" /home/admin/web/vietboot.com/public_html
echo "Đang xóa thư mục cũ"
rm -rf /home/admin/web/vietboot.com/public_html/forum
echo "Đang giải nén"
cd /home/admin/web//vietboot.com/public_html
unzip -oq forum.zip
chown -R admin:admin /home/admin/web/vietboot.cm/public_html
# Clean up
rm -rf /home/admin/web/vietboot.com/public_html/forum.zip
5. Backup 1 thư mục bất kỳ:
Mã:
cd /home/admin/web/vietboot.com/public_html/forum/data
zip -rq /home/admin/web/vietboot.com/public_html/avatars.zip avatars
echo "Đang upload lên Google Drive";
/usr/sbin/rclone --transfers=1 copy /home/admin/web/vietboot.com/public_html/avatars.zip "vietboot:Backup/avatars" >> /var/log/rclone.log 2>&1
/usr/sbin/rclone --transfers=1 move /home/admin/web/vietboot.com/public_html/avatars.zip "microsoft:Backup/avatars" >> /var/log/rclone.log 2>&1
# Clean up
rm -rf /home/admin/web/vietboot.com/public_html/avatars.zip

echo "Hoàn thành";
Chừng này đã :D bạn nào thắc mắc hay yêu cầu gì mình sẽ trả lời ở đây. Bài tới mình sẽ chia sẻ script đồng bộ IP động lên Cloudflare.
 

ngovancanbn

MasterCorporal
Tham gia
22/11/2016
Bài viết
331
Được Like
81
hay bác. mà mình xài Cyberpanel có cách nào cho nó backup full cyber (kể cả các site trong cyber) không bác.
 

tri78

Moderator
Thành viên BQT
Tham gia
13/05/2015
Bài viết
438
Được Like
335
hay bác. mà mình xài Cyberpanel có cách nào cho nó backup full cyber (kể cả các site trong cyber) không bác.
À, Cyberpanel nó chạy bản OS riêng nhỉ, vậy chưa thử.
 

thahtrung06

Super Moderator
Thành viên BQT
Tham gia
12/11/2019
Bài viết
1,179
Được Like
519
Mình thấy với Cyberpanel có hỗ trợ tính năng backup từng website lên Google Driver, nếu muốn restore có thể dùng lệnh bên dưới để tự động tải file backup từ Google Driver xuống máy chủ của bạn.
Mã:
cd /home/backup
gdown id
 

ngovancanbn

MasterCorporal
Tham gia
22/11/2016
Bài viết
331
Được Like
81
Mình thấy với Cyberpanel có hỗ trợ tính năng backup từng website lên Google Driver, nếu muốn restore có thể dùng lệnh bên dưới để tự động tải file backup từ Google Driver xuống máy chủ của bạn.
Mã:
cd /home/backup
gdown id
làm gì có bạn?
Backup v2 (hỗ trợ drive như bạn nói) thì phải MUA nhá. không free
 

thahtrung06

Super Moderator
Thành viên BQT
Tham gia
12/11/2019
Bài viết
1,179
Được Like
519
làm gì có bạn?
Backup v2 (hỗ trợ drive như bạn nói) thì phải MUA nhá. không free
Có nhé! Không phải mục Backup v2 mà là mục Backup. Bạn phải biết cách thiết lập và phụ thuộc vào phiên bản CyberPanel đang sử dụng. Tôi đã backup lên Google Driver thành công.

backup gdrive.png

File backup này bao gồm tất cả thư mục gốc, cơ sở dữ liệu, mail và tất cả thiết lập trong CyberPanel cũng như Open LiteSpeed của website.

Cái Backup v2 sẽ sử dụng rclone, cần phải trả phí. Với Backup v2, không chỉ backup lên Google Driver, mà có thể backup lên nhiều dịch vụ khác như Ondrive,... Nếu không muốn mất phí thì có thể áp dụng bài hướng dẫn ở trên.​
 
Sửa lần cuối:

ngovancanbn

MasterCorporal
Tham gia
22/11/2016
Bài viết
331
Được Like
81
Có nhé! Không phải mục Backup v2 mà là mục Backup. Bạn phải biết cách thiết lập và phụ thuộc vào phiên bản CyberPanel đang sử dụng. Tôi đã backup lên Google Driver thành công.


File backup này bao gồm tất cả thư mục gốc, cơ sở dữ liệu, mail và tất cả thiết lập trong CyberPanel cũng như Open LiteSpeed của website.

Cái Backup v2 sẽ sử dụng rclone, cần phải trả phí. Với Backup v2, không chỉ backup lên Google Driver, mà có thể backup lên nhiều dịch vụ khác như Ondrive,... Nếu không muốn mất phí thì có thể áp dụng bài hướng dẫn ở trên.​
chổ nào v ôg?
 

thahtrung06

Super Moderator
Thành viên BQT
Tham gia
12/11/2019
Bài viết
1,179
Được Like
519
nâng cấp sao v bác :D
Mình đang xài
Current Version:
2.3
Build:
4
Current Commit:
92c7e88a17581c73da30abb7cb715805b8032ca9

sao mình k thấy ta
Mình đã inbox cho bạn bài hướng dẫn nâng cấp CyberPanel
 
Sửa lần cuối:
Top Bottom