1. Trên FreeNas
Bước 1: Tạo user
Trong giao diện FreeNas chọn Account > Users > ADD
Nhập tên Username và Password cần tạo
Bước 2. Tạo thư mục để lưu trữ backup
Chọn Storage > Pools > Nhấn dấu 3 chấm trên pool đã tạo sẵn.
Chọn Add Dataset
Đặt tên và chọn Share Type: Windows
Bước 3: Phân quyền user nào được truy cập
Chọn dấu 3 chấm vào Dataset vừa tạo
Chọn Edit Permissions
Chọn user cấp quyền truy cập
Bước 4: Share thư mục
Chọn Sharing > Windows (SMB) Shares > ADD
Bấm vào hình thư mục để hiện ra đường dẫn đến thư mục cần share
Chọn vào thư mục cần share
2. Trên Ubuntu
Bước 1: Mount thư mục share vào Ubuntu
Chỉnh file fstab để khi server khởi động lại thì tự động mount.
# vi /etc/fstab
Thêm vào cuối file dòng sau, nhớ chỉnh lại cho phù hợp với thông tin của các bạn nhé
Trong đó:
- //MyIPFreeNas/Backup_DB : là đường dẫn truy cập vào thư mục share trên FreeNas
- /data/freenas : là nơi cần mount đến trên Ubuntu, bạn phải tạo phân vùng này trước nhé. Ví dụ bạn tạo file trên Ubuntu trong phân vùng /data/freenas tức là bạn đang lưu trên thư mục Backup_DB trên FreeNas
- username=copy : Ở đây user lúc nãy mình tạo trên FreeNas tên là copy
- password=ffewubcVVB : Mật khẩu của user copy
//MyIPFreeNas/Backup_DB /data/freenas cifs username=copy,password=ffewubcVVB,vers=3.0 0 0
Tiến hành mount toàn bộ cấu hình trong file fstab
# mount -a
Sau đó bạn test thử bằng cách vào phân vùng đã được mount trên Ubuntu tạo file hay thư mục bất kỳ rồi kiểm tra xem trên FreeNas có không nhé.
Bước 2. Tạo code tự động copy data vào trong phân vùng mount
Ở đây mình sẽ sử dụng code bằng Python.
Ubuntu phải cài python trước nhé, giờ mình sẽ tạo file tên là copydata.py
# vi copydata.py
Nội dung code
import shutil #import module shutil
import os #import modul os
src = '/data/db' #tạo biến src là đường dẫn phân vùng bạn cần backup
dst = '/data/free_nas/db'#tạo biến dst là đường dẫn đến phân vùng mount
#Mục đích mình muốn dữ liệu sẽ backup mới sẽ đè lên backup cũ
if os.path.exist(dst):
shutil.rmtree(dst)
shutil.copytree(src,dst)
Bước 3: Tạo cron job để đặt lịch tự động chạy code
# vi /etc/crontab
Thêm dòng
Trong đó:
- 15 : phút
- 23 : giờ
- Ba dấu * là mình cho chạy hằng ngày
- root : user nào sẽ chạy job
- python3 : lệnh
- /home/Code/copydata.py : đường dẫn đến file code
15 23 * * * root python3 /home/Code/copydata.py
Comments