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,如果这解决了你的问题那么请接受正确的答案:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值