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