Cách dễ nhất để tự động hóa tác vụ này sẽ là sự kết hợp giữa MySQL Dumps và cronjob. Bạn có thể tìm thấy rất nhiều thông tin về chủ đề này trên trang này và các trang internet khác, nhưng vì mục đích hoàn thành:
Tạo một tệp mysqldump.sh
Cái nào sẽ chứa lệnh kết xuất mysql mà chúng ta sẽ lên lịch trong một công việc định kỳ (thay thế người dùng, mật khẩu và đường dẫn để phù hợp với môi trường của bạn):
mysqldump -u root -p<mysql_root_password> --all-databases | gzip > /desired/backup/folder/mysqldb_`date +%F`.sql.gz
Chỉnh sửa: Nếu bạn muốn tập lệnh lưu trữ bản sao lưu ở một vị trí xa, chỉ cần gắn thiết bị tương ứng hoặc chia sẻ và sử dụng đường dẫn gắn kết trong tập lệnh.
Kiểm tra kịch bản
Đảm bảo rằng tập lệnh có quyền thực thi:
chmod +x /path/to/mysqldump.sh
Thực thi tập lệnh:
sh /path/to/mysqldump.sh
Và kiểm tra xem nó có hoạt động chính xác không (Tệp sao lưu sẽ được tạo trong thư mục sao lưu đã chỉ định).
Tạo và lên lịch cho một công việc định kỳ mới
Trong một dấu nhắc lệnh
sudo crontab -e
Và thêm dòng sau vào cuối tập tin:
30 23 * * * /path/to/mysqldump.sh
Điều này sẽ thực thi kịch bản mỗi ngày vào lúc 23:30.
Mở rộng tập lệnh đơn giản này
Có rất nhiều thứ bạn có thể làm để cải thiện phương thức sao lưu đơn giản này:
- Sao lưu vào hệ thống khác
- Giám sát không gian đĩa
- Báo cáo qua email
- ...
Vì vậy, đừng kết thúc ở đây và thử nghiệm! :-)
Sử dụng các công cụ sao lưu hoặc dịch vụ sao lưu dựa trên đám mây
Mặc dù phương pháp trên là một trong những phương pháp dễ nhất và có thể được mở rộng để phù hợp với nhu cầu cụ thể của bạn, nhưng điều đáng nói là có những lựa chọn thay thế khác:
- các công cụ sao lưu như AutoMyQueryBackup, một ứng dụng nguồn mở có thể giúp dễ dàng quá trình định cấu hình Thông báo email, nén, mã hóa, xoay và loại (ví dụ: tăng dần) các bản sao lưu của bạn. Đối với Mai 2018, nó có sẵn cho Ubuntu Server thông qua APT.
- các dịch vụ sao lưu dựa trên đám mây như BackupBird, myRepono, Bitcan, v.v ... có thể thú vị nếu bạn quản lý một số máy chủ cơ sở dữ liệu và muốn quản lý tập trung tất cả các bản sao lưu của chúng.
Xin lưu ý rằng tôi không liên quan đến bất kỳ giải pháp và dịch vụ nào được đề cập ở trên và tôi chỉ liệt kê chúng để tham khảo, vì vậy hãy tự chịu rủi ro khi sử dụng chúng.
Liên kết hữu ích / Tài liệu tham khảo:
Cron -> https://en.wikipedia.org/wiki/Cron
Kết xuất MySQL -> https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
date +%F
- sẽ tự động chọn kết hợp năm + tháng + ngày phù hợp với ngôn ngữ của người dùng (ví dụ: tôi sẽ nhận đượcYYYY-MM-DD
).