我需要使用 cron 作业每 30 分钟恢复一次数据库 (mysql)

发布于 2024-09-29 09:15:23 字数 316 浏览 2 评论 0原文

我是 cron 作业的新手,我需要每 30 分钟恢复一次数据库 (mysql)。是否有一个 cron 作业命令可以从已压缩的 .sql 文件恢复数据库?

或者我是否需要创建一个 php 脚本来执行此操作并创建一个 cron 作业来每三十分钟调用此脚本?

另外,这是一个单独的问题,但仍然与 cron 作业相关,我使用 cron 作业每天备份一次不同的数据库,对其进行 gzip 并将其放在根目录上方的文件夹中。有没有办法(自动)删除超过一个月的内容?或者,至少保留最近的 20 个备份并删除其余的?

除了随机的论坛帖子之外,关于这个主题的好教程并不多。任何帮助表示赞赏。

I'm new to cron jobs and I need to restore a database (mysql) every 30 minutes. Is there a cron job command that can restore a database from a .sql file that's been gzipped?

Or do I need to create a php script to do this and create a cron job to call this script every thirty minutes?

Also, and this is a separate question but still related to cron jobs, I'm using a cron job to backup a different database once a day, gzip it and put it in a folder above the root. Is there a way to (automatically) delete anything older than a month? Or, at least, keep the most recent 20 backups and delete the rest?

There's not a lot of good tutorial out there on this subject other that random forum posts. Any help is appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不必你懂 2024-10-06 09:15:23

关于如何导入转储文件,只需将其放入

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

cron 作业中即可。

更多详细信息:如何恢复 MySQL .dump 文件?

Regarding how to import a dump file, simply put a

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

into the cron job.

More details: How do I restore a MySQL .dump file?

半世晨晓 2024-10-06 09:15:23

您可以编写一个 bash 脚本来执行此操作。

mysql -uPutYourUserHere -pPutYourPasswordHere PutYourUserHere_databaseName < database.sql

没有什么可以自动删除某些东西。但你可以在你的 cron 工作中做:

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

You can write a bash script to do this.

mysql -uPutYourUserHere -pPutYourPasswordHere PutYourUserHere_databaseName < database.sql

There isn't anything to automatically delete something. But you can do in your cron job:

find /path/to/files -mtime +30 -exec rm  {}\;
违心° 2024-10-06 09:15:23

MySQL 无法直接处理 gzip 压缩的数据,但通过 gzcat 进行管道传输然后将其传输到 mysql 是很简单的:

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

MySQL can't handle the gzipped data directly, but it's trivial to pipe through gzcat and then pipe that to mysql:

gzcat name_of_file.sql.gz | mysql -u....
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文