Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Cách Backup File Lên Google Drive Trên Linux

Google Drive là medium tuyệt vời cho những người cần lưu bản copy online của file. User Linux có thể tận dụng plan miễn phí 15 GB để backup file cấu hình thiết yếu. Hơn nữa, bạn có thể backup volume lớn dữ liệu, bao gồm media file, nếu có Google Workspace (trước G-Suite) active. Hướng dẫn này sẽ chỉ cách tự động backup file lên Google Drive trong Linux dùng package open-source google-drive-ocamlfuse và CRON.

google-drive-ocamlfuse Là Gì?

google-drive-ocamlfuse là FUSE filesystem cho phép user mount Google Drive storage lên máy local. Nó được viết bằng OCaml và free available via GitHub. Một số tính năng chính bao gồm full read/write access, multiple account support, Unix permission, và Team Drive support.

Cách Dùng Nó Cho Auto Backup?

Bước đầu tiên là mount remote Google Drive vào local filesystem. Đây là nơi google-drive-ocamlfuse phát huy作用. Sau đó chúng ta có thể dùng automatic scheduler để định kỳ transfer file lên drive. Để đơn giản, chúng ta dùng Linux CRON utility lo việc scheduling. (Bạn cũng có thể dùng Zeit để schedule cron job.)

Cài Đặt Và Cấu Hình google-drive-ocamlfuse

Đầu tiên, chúng ta cần cài google-drive-ocamlfuse trên máy Linux. May mắn thay, nó rất đơn giản. Mở terminal và nhập lệnh sau tại prompt.

sudo add-apt-repository ppa:alessandro-strada/ppa

Nó sẽ thêm package cần thiết vào repository list của package manager. Bạn có thể tiến hành cài package bằng lệnh sau.

# Debian/Ubuntu
sudo apt update && sudo apt install google-drive-ocamlfuse
# Fedora
sudo dnf copr enable sergiomb/google-drive-ocamlfuse
sudo dnf install google-drive-ocamlfuse
# Arch
yay -S google-drive-ocamlfuse

Đợi cho cài đặt xong. Khi hoàn tất, bạn cần cấu hình nó cho mounting. Bước đầu là tạo mount point cho Google Drive trong local filesystem. Bạn làm bằng cách gõ lệnh dưới trong terminal.

mkdir -p ~/mount/google-drive

Tiếp theo, mount drive storage với lệnh:

google-drive-ocamlfuse ~/mount/google-drive

google-drive-ocamlfuse sẽ mở default browser và redirect đến trang authentication account Google Drive. Chọn account bạn muốn mount local.

Nhập password cho account đã chọn để authenticate.

Tiếp theo, Google sẽ yêu cầu permission để grant access cho google-drive-ocamlfuse. Click "Allow" và tiếp tục trang tiếp theo.

Bạn sẽ được yêu cầu allow access cho user account lần nữa.

Khi cho phép permission, nó sẽ redirect bạn đến webpage của google-drive-ocamlfuse. Chúc mừng, bạn đã mount thành công tài khoản Google Drive vào local filesystem.

Đây là lúc tốt để verify quá trình mount Google Drive suôn sẻ hay không. Nếu stage này ra error, bạn không thể dùng nó backup file. Dùng lệnh dưới để verify.

ls -l ~/mount/google-drive/

Output nên hiển thị danh sách file và thư mục có trong Google Drive storage. Nếu mọi thứ như mong đợi, chúng ta tiến đến cấu hình backup scheduler.

Backup File Lên Google Drive Dùng CRON

Backup không gì khác ngoài operation copy. Vì Google Drive đã mount, chúng ta có thể copy file vào nó như một phần của local filesystem. Bạn có thể verify bằng cách chạy:

touch test-file
cp test-file ~/mount/google-drive/

Nó nên copy test file vào drive storage. Dùng lệnh ls để verify có copy thành công lên Google Drive không.

ls ~/mount/google-drive/

Bây giờ mọi thứ ready, cấu hình cron để tự động backup. Nếu bạn chưa biết, cron là scheduler cho phép user chạy lệnh định kỳ. Chúng ta chỉ định lệnh nào chạy và khi nào bằng crontab. Bạn có thể học thêm ở đây.

Chúng ta dùng crontab entry sau để copy nội dung folder "/tmp" lên Google Drive lúc 00:00 hàng ngày.

0 0 * * * cp /tmp/ ~/mount/google-drive/

Nếu muốn backup file mỗi tuần, dùng crontab entry sau.

0 0 * * 0 cp /tmp/ ~/mount/google-drive/

Nó sẽ copy nội dung "/tmp" lên drive storage lúc 00:00 mỗi Chủ Nhật. Thay "/tmp" bằng thư mục chứa file cá nhân. Tuy nhiên, còn một bước cuối. Không có crontab entry nào mount Google Drive tự động. Một giải pháp nhanh là mount drive storage dùng crontab entry khác, rồi follow up với entry backup.

55 23 * * 0 google-drive-ocamlfuse ~/mount/google-drive
0 0 * * 0 cp /tmp/ ~/mount/google-drive/

Như bạn thấy, chúng ta mount drive sớm 5 phút. Nó cho cron đủ thời gian chắc chắn không miss backup do initialization issue. Dùng lệnh dưới để edit crontab và thêm dòng trên.

Kết Luận

Chúng tôi đã trình bày cách đơn giản backup file lên Google Drive dùng google-drive-ocamlfuse và cron. Thay thế, nếu bạn dùng Gnome, bạn cũng có thể dễ dàng connect Google đến desktop và mount Google Drive trên hệ thống. Bạn cũng có thể xem thêm Cron alternative khác hoặc dùng systemd timers như cron replacement.