Tạo Script Sao Lưu Dữ Liệu Website Tự Động Qua SSH Linux

1. Đăng nhập SSH vào máy chủ Linux

Trên Windows, đăng nhập thông qua Bitvise SSH Client: Host (IP), Port (22), Username (root), Initial method (password), Password (mật khẩu root).

Trên Linux, đăng nhập thông qua Terminal có sẵn trên hệ điều hành.

#ssh root@dia_chi_ip -> yes -> password:

2. Tạo script backup dữ liệu ( Source + Database)

Tạo file script với nội dung sau:

nano /bin/auto-backup
#!/bin/bash

echo "Sao luu website hanabi-jinzai.com"

mkdir /home/backup/

mkdir /home/backup/$(date +"%Y-%m-%d")/                         ## Tạo thư mục chứa File Backup với tên là nam-thang-ngay

mkdir /home/backup/$(date +"%Y-%m-%d")/hanabi-jinzai.com/

echo "Bat dau sao luu database cho hanabi-jinzai.com..."                ## Backup Database

mysqldump --single-transaction --routines --triggers --add-drop-table --extended-insert -u hanabijinzaicom -p'mat-khau-database' hanabijinzaicom | gzip -9 > /home/backup/$(date +"%Y-%m-%d")/hanabi-jinzai.com/Database_$(date +"%Y-%m-%d").sql.gz

echo "Bat dau sao luu files cho hanabi-jinzai.com..."                   ## Backup Source

tar -czvf /home/backup/$(date +"%Y-%m-%d")/hanabi-jinzai.com/Source_$(date +"%Y-%m-%d").tar.gz /var/www/hanabi-jinzai.com/

echo "SAO LUU Database & Source thanh cong vao luc $(date +"%Y-%m-%d")!"echo "File backup da duoc luu tai: /home/backup/hanabi-jinzai.com"
(Nội dung script)

Chú thích các phần bôi đậm bên trên:

  • Tên website cần Backup: hanabi-jinzai.com
  • User Database: hanabijinzaicom
  • Pass: mat-khau-database
  • Tên Database: hanabijinzaicom 
  • Đường dẫn lưu Backup: /home/backup/hanabi-jinzai.com/
  • Đường dẫn website cần Backup: /var/www/hanabi-jinzai.com/
  • Đường dẫn lưu file backup Source + Database: /home/backup/
  • Tên File Backup Source: Source_nam-thang-ngay.zip
  • Ten File Backup Database: Database_nam-thang-ngay.sql.gz

Phân quyền cho File auto-backup.

chmod +x /bin/auto-backup

Sau khi phân quyền xong, bạn hãy thử gõ tên file vừa tạo xem script backup có hoạt động hay không. Nếu chạy được như hình thì đã cấu hình thành công.

auto-backup

Để xem dữ liệu của từng ngày Backup, bạn chỉ cần cd vào đúng thư mục mình cần là được nhé.

cd /home/backup

3. Tạo Cron để thiết lập thời gian chạy script

(crontab -u root -l ; echo "0 2 * * * auto-backup >> /home/backup/log-backup.txt") | crontab -u root -
systemctl restart cron

Giải thích lệnh trên:

Lệnh 1: Thiết lập Cron Backup chạy vào 02:00 giờ sáng hàng ngày, và log sẽ được ghi lại tại đường dẫn /home/backup/log-backup.txt.

Lệnh 2: Khởi động lại dịch vụ Crond.

Sau khi thêm Cron, bạn sử chạy lệnh bên dưới để kiểm tra Cron đã thêm thành công chưa.

crontab -l

4. Tạo Cron xóa Backup định kỳ

Tạo Cron xóa các file backup cũ và chỉ giữ lại 7 bản backup gần nhất. Thời gian cron chạy vào lúc 02:01 sáng hàng ngày.

(crontab -u root -l ; echo "1 2 * * * find /home/backup -type d -mtime +7 -exec rm -rf {} +") | crontab -u root -
sudo systemctl restart cron

Bình luận

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *