簡體   English   中英

我需要使用cron作業每30分鍾恢復一次數據庫(mysql)

[英]I need to restore a database (mysql) every 30 minutes using a cron job

我是cron jobs的新手,我需要每30分鍾恢復一次數據庫(mysql)。 是否有一個cron作業命令可以從已被gzip壓縮的.sql文件中恢復數據庫?

或者我是否需要創建一個php腳本來執行此操作並創建一個cron作業來每30分鍾調用一次這個腳本?

此外,這是一個單獨的問題,但仍然與cron作業有關,我使用cron作業每天備份一次不同的數據庫,gzip並將其放在根目錄上的文件夾中。 有沒有辦法(自動)刪除超過一個月的任何東西? 或者,至少保留最近的20個備份並刪除其余備份?

其他隨機論壇帖子上沒有很多關於這個主題的好教程。 任何幫助表示贊賞。

關於如何導入轉儲文件,只需輸入一個

mysql -u user -ppassword databasename < /path/to/dump.sql 

進入cron工作。

更多細節: 如何恢復MySQL .dump文件?

您可以編寫一個bash腳本來執行此操作。

mysql -uPutYourUserHere -pPutYourPasswordHere PutYourUserHere_databaseName < database.sql

沒有什么可以自動刪除的東西。 但是你可以在你的cron工作中做到:

find /path/to/files -mtime +30 -exec rm  {}\;

MySQL無法直接處理gzip壓縮數據,但通過管道gzcat然后將其傳遞給mysql是微不足道的:

gzcat name_of_file.sql.gz | mysql -u....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM