繁体   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