php mysql 作业计划,关于php:我需要使用cron作业每30分钟恢复一次数据库(mysql)
我是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文件?
非常感激。
我理解這個Pekka的歷史,但是在cat /path/to/file.sq/ | mysql -u root -ppassword上執行這個方法會更有效嗎?
@Daryl我對Unix / Linux管理文件數據的方式知之甚少,不知道哪種方式更有效! 你的建議可能更好。
MySQL無法直接處理gzip壓縮數據,但通過管道gzcat然后將其傳遞給mysql是微不足道的:
gzcat name_of_file.sql.gz | mysql -u....
您可以編寫一個bash腳本來執行此操作。
mysql -uPutYourUserHere -pPutYourPasswordHere PutYourUserHere_databaseName < database.sql
沒有什么可以自動刪除的東西。 但是你可以在你的cron工作中做到:
find /path/to/files -mtime +30 -exec rm ?{}\;
我的意思是刪除舊備份的cron作業。 我認為"自動"會產生誤導。 會嘗試你的建議。 我不太熟悉bash腳本。
find是一個非常強大的工具。 有時如果你只是谷歌"找到刪除月舊"你會找到正確的答案。
我收到一個錯誤發送給我說找到:缺少`-exec'的參數
我在我的Mac上嘗試了這個,它找到了。 -mtime +30 -exec rm {} ;
注意:{}和之間需要有空格;
@johnny,如果這解決了你的問題那么請接受正確的答案:)
總結
以上是生活随笔為你收集整理的php mysql 作业计划,关于php:我需要使用cron作业每30分钟恢复一次数据库(mysql)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java重载this_Java的this
- 下一篇: storyboard搭建项目_swift