Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于获取所有MySQL数据库并将其发送到电子邮件的Cronjob_Php_Mysql_Cron - Fatal编程技术网

Php 用于获取所有MySQL数据库并将其发送到电子邮件的Cronjob

Php 用于获取所有MySQL数据库并将其发送到电子邮件的Cronjob,php,mysql,cron,Php,Mysql,Cron,我想创建cronjob,它将执行.php文件,该文件将获取所有数据库,该数据库将每天直接发送到我的电子邮件中 你知道我怎么做吗 非常感谢。您可以编写一个脚本来执行mysqldump,然后通过电子邮件将文件发送给您。。。你是真的要求别人给你这样一个脚本,还是你在问如何将它放入cron?你可以编写一个脚本,执行mysqldump,然后通过电子邮件将文件发送给你。。。你真的是在要求别人给你这样的脚本,还是在问如何把它放到cron中?在你的crontab中包括以下内容 @每日php php_file.p

我想创建cronjob,它将执行.php文件,该文件将获取所有数据库,该数据库将每天直接发送到我的电子邮件中

你知道我怎么做吗


非常感谢。

您可以编写一个脚本来执行mysqldump,然后通过电子邮件将文件发送给您。。。你是真的要求别人给你这样一个脚本,还是你在问如何将它放入cron?

你可以编写一个脚本,执行mysqldump,然后通过电子邮件将文件发送给你。。。你真的是在要求别人给你这样的脚本,还是在问如何把它放到cron中?

在你的crontab中包括以下内容

@每日php php_file.php | mail-E-s“主题行”your@emailaddress.com


mail是一个发送电子邮件的程序,它从标准文本中读取正文,并定义主题行-E表示只有在有正文的情况下才发送电子邮件,您可能需要也可能不需要。在crontab中包含以下内容

@每日php php_file.php | mail-E-s“主题行”your@emailaddress.com

mail是一个发送电子邮件的程序,它从标准文本中读取正文,并定义主题行-E表示只有在有正文的情况下才发送电子邮件,您可能想要也可能不想要。

您所说的“所有数据库”是什么意思?您想要服务器中保存的数据库的列表吗?一堆东西?您不需要PHP,只需使用shell脚本即可:

mysqldump -p -u username_to_do_dump_with --all-databases | mail you@example.com -s 'database dumps'
简而言之:转储mysql中保存的所有数据库,将输出传输到邮件程序,邮件程序将转储发送给您

当然,如果你有很多数据(特别是如果你在数据库中存储文件),你最终会收到一封巨大的电子邮件,如果有任何二进制数据,电子邮件可能会破坏转储文件。您很可能希望通过gzip运行转储以减少其内容,然后将.gz文件作为附件发送出去,这比这个非常简单的版本需要更多的脚本编写工作。

您说的“所有数据库”是什么意思?您想要服务器中保存的数据库的列表吗?一堆东西?您不需要PHP,只需使用shell脚本即可:

mysqldump -p -u username_to_do_dump_with --all-databases | mail you@example.com -s 'database dumps'
简而言之:转储mysql中保存的所有数据库,将输出传输到邮件程序,邮件程序将转储发送给您


当然,如果你有很多数据(特别是如果你在数据库中存储文件),你最终会收到一封巨大的电子邮件,如果有任何二进制数据,电子邮件可能会破坏转储文件。您很可能希望通过gzip运行转储以减少其内容,然后将该.gz文件作为附件发送出去,这将比这个非常简单的版本需要更多的脚本编写。

您首先要编写php脚本

然后在crontab中放一行,如下所示:

1***路径/到/您的/脚本


每天运行一次脚本。

首先,您要编写php脚本

然后在crontab中放一行,如下所示:

1***路径/到/您的/脚本


每天运行一次脚本。

@嘿,我会使用Marc B的解决方案,并使用另一个人的解决方案将其粘贴到cron中(使用crontab-e):D@hey我会使用Marc B的解决方案,并使用另一个人的解决方案将其粘贴到cron中(使用crontab-e):D@MarcB:它没有给我发送文件,它只提供文本:

/*!40101 SET@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT*/;虽然它没有回答OP的问题,但我只是将其转储、gzip并将其rsync到另一台机器上。邮件似乎不是备份的合适媒介…@hey:dump到一个文件,gzip它,然后使用更多的shell脚本将文件作为附件发送。但正如我在回答中所说,你不需要PHP来完成这个任务——一个简单的shell脚本可以比PHP简单得多。@Marc B:好的,我应该使用什么shell脚本?你给的那个,只发送一些文本,不发送文件。
mysqldump等等| gzip-9>file.gz;mutt-a file.gz“附件”you@example.com
@Marc B:它没有给我发送文件,它只提供文本:

/*!40101 SET@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT*/;虽然它没有回答OP的问题,但我只是将其转储、gzip并将其rsync到另一台机器上。邮件似乎不是备份的合适媒介…@hey:dump到一个文件,gzip它,然后使用更多的shell脚本将文件作为附件发送。但正如我在回答中所说,你不需要PHP来完成这个任务——一个简单的shell脚本可以比PHP简单得多。@Marc B:好的,我应该使用什么shell脚本?你给的那个,只发送一些文本,不发送文件。
mysqldump等等| gzip-9>file.gz;mutt-a file.gz“附件”you@example.com