Cách setup rclone hệ điều hành Linux

Để setup vps hệ điều hành Linux cài đặt rclone thì các bạn có thể làm theo hướng dẫn sau:

>>> Tham khảo dịch vụ Vps: https://inet.vn/vps

1. Cài đặt rclone

cd /root/
wget https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
\cp rclone-v*-linux-amd64/rclone /usr/sbin/
rm -rf rclone-*

2. Kết nối google drive với rclone

rclone config

No remotes found – make a new one, nhập n -> Enter để tạo kết nối mới.
Ở dòng name bạn nhập remote để đặt tên cho kết nối, bạn có thể chọn tên nào cũng được. (tên này đặt sao thì trong .sh dùng vậy). Ví dụ: “remote:path_backup/$TIMESTAMP” thì name là “remote
Một danh sách các dịch vụ cloud xuất hiện, chọn số 15 ứng với Google Drive rồi nhấn Enter.
Ở 2 dòng tiếp theo Client IDClient Secret hãy để trống nhấn Enter.
Mục Scope that rclone should use when requesting access from drive chọn 1 – drive
Tiếp theo, để trống với ID of the root folderService Account Credentials JSON file path
Khi được hỏi Use auto config? nhập n nhấn Enter. Rclone sẽ đưa ra một đường link, bạn có thể click thẳng vào đó hoặc copy rồi paste vào trình duyệt.

Sau đó bạn cấp phép quyền truy cập cho rclone, sao chép mã dán lại vào phần config.

3. Chạy lệnh rclone backup bằng tay

chmod +x /root/file_sh.sh
/root/file_sh.sh

Thông tin file .sh

#!/bin/bash
SERVER_NAME=1_POLYXGO_BACKUP

TIMESTAMP=$(date +"%F")
BACKUP_DIR="/root/backup/$TIMESTAMP"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump
SECONDS=0

mkdir -p "$BACKUP_DIR/mysql"

echo "Bat dau backup datatabse";
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 "Hoan tat backup databases";
echo '';

echo "Bat dau backup website";
# Loop through /home directory
for D in /home/*; do
	if [ -d "${D}" ]; then #If a directory
		domain=${D##*/} # Domain name
		echo "- "$domain;
		zip -r $BACKUP_DIR/$domain.zip /home/$domain/public_html/ -q -x /home/$domain/public_html/wp-content/cache/**\* #Không nên thư mục cache
	fi
done
echo "Hoan tat backup website";
echo '';

echo "Bat dau backup nginx configuration";
cp -r /etc/nginx/conf.d/ $BACKUP_DIR/nginx/
echo "Hoan ta backup nginx";
echo '';

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

echo "Xu ly upload du lieu backup len Google Drive";
/usr/sbin/rclone move $BACKUP_DIR "polyxgo_drive:1_POLYXGO_BACKUP/polyxgo.com/polyxgo/$TIMESTAMP" >> /var/log/rclone.log 2>&1
# Clean up
rm -rf $BACKUP_DIR
/usr/sbin/rclone -q --min-age 2w delete "polyxgo_drive:1_POLYXGO_BACKUP/polyxgo.com/polyxgo" #Xoá tất cả backup trước đó 2 tuần.
/usr/sbin/rclone -q --min-age 2w rmdirs "polyxgo_drive:1_POLYXGO_BACKUP/polyxgo.com/polyxgo" #Xoá tất cả backup trước đó 2 tuần.
/usr/sbin/rclone cleanup "polyxgo_drive:" #Cleanup
echo "Hoan tat upload du lieu backup";
echo '';

duration=$SECONDS
echo "Tong dung luong $size, thoi gian xu ly $(($duration / 60)) phut va $(($duration % 60)) giay."

4. Tạo cronjob tự động backup hàng ngày?

Cronjob cài đặt rclone tự động backup dữ liệu vào 3h sáng. EDITOR=nano crontab -e Dán nội dung sau vào cửa sổ Terminal 0 3 * * * /root/file_sh.sh > /dev/null 2>&1 Nhấn Ctrl+O, Enter để lưu. Ctrl+X để thoát.

Leave a Reply