Để thiết lập sao lưu tự động trong PostgreSQL, bạn có thể sử dụng một số phương pháp khác nhau. Dưới đây là hướng dẫn chi tiết về cách thực hiện điều này bằng cách sử dụng pg_dump
và cron jobs trên hệ thống Linux:
Tạo file script (ví dụ: backup_postgresql.sh
):
#!/bin/bash # Thiết lập các biến BACKUP_DIR="/path/to/backup/dir" # Thư mục để lưu trữ sao lưu DB_NAME="your_database_name" # Tên cơ sở dữ liệu TIMESTAMP=$(date +"%Y%m%d%H%M") # Thời gian để đặt tên file sao lưu BACKUP_FILE="$BACKUP_DIR/$DB_NAME-$TIMESTAMP.sql" # Thực hiện sao lưu pg_dump -U your_username -F c $DB_NAME > $BACKUP_FILE # Xóa sao lưu cũ (tuỳ chọn) find $BACKUP_DIR -type f -name "$DB_NAME-*.sql" -mtime +7 -exec rm {} \; # Xóa các file cũ hơn 7 ngày
Cấp quyền thực thi cho script:
chmod +x /path/to/backup_postgresql.sh
Mở crontab:
crontab -e
Thêm dòng sau để chạy script sao lưu hàng ngày (ví dụ: vào lúc 2 giờ sáng):
0 2 * * * /path/to/backup_postgresql.sh
pg_dump
nếu cần thiết (ví dụ: thêm tùy chọn -W
để yêu cầu mật khẩu).Với các bước này, bạn đã thiết lập thành công sao lưu tự động cho cơ sở dữ liệu PostgreSQL. Nếu có thắc mắc hoặc cần thêm chi tiết, hãy cho tôi biết!