Cron mysqldump,无法读取“/etc/my.cnf.d”的目录(错误代码:2)

Posted

技术标签:

【中文标题】Cron mysqldump,无法读取“/etc/my.cnf.d”的目录(错误代码:2)【英文标题】:Cron mysqldump, Can't read dir of '/etc/my.cnf.d' (Errcode: 2) 【发布时间】:2015-10-16 08:37:45 【问题描述】:

我正在尝试使用 cpanel 中的 cron 作业设置自动数据库备份,该作业将通过电子邮件发送给我自己,但遇到了一些问题。目前我尝试了 2 种不同的解决方案,但遇到了类似的错误。

首先我尝试了http://www.theblog.ca/mysql-email-backup,它是创建一个由 cron 作业运行的 php 脚本。但我收到错误mysqldump: Can't read dir of '/etc/my.cnf.d' (Errcode: 2)

然后我尝试了这个 http://www.canbike.org/information-technology/hostgator-wolfcms-automatic-mysql-backup.html 只是在运行这个 cron 作业

mysqldump -e --user='<USERNAME>' --password='<PASSWORD>' <DATABASENAME> | gzip | uuencode <FILENAME>.gz | mail <EMAIL>

然后我得到/usr/local/cpanel/bin/jailshell: uuencode: command not found mysqldump: Can't read dir of '/etc/my.cnf.d' (Errcode: 2)

我在一个共享主机上,并没有自己设置 MySQL。

那么有什么想法可以让其中一个工作甚至更好的解决方案吗?

【问题讨论】:

签出***.com/a/20453251/1816093 【参考方案1】:

uuencode 只是将二进制数据(您通过gzip 压缩得到)转换为适合作为 7 位安全“文本”数据的文本数据。你可以试试base64

您也可以尝试使用更好的压缩。因此,不要尝试gzip,而是尝试bzip2,或者更好的xz,无论是否可用。

对于mysqldump,请查看文档:

mysqldump option files

您可以使用选项--no-defaults 不尝试读取任何选项文件。您还可以创建自己的选项文件(可能基于您已经在其他地方使用的某些配置)并使用--defaults-file 传递它。

【讨论】:

以上是关于Cron mysqldump,无法读取“/etc/my.cnf.d”的目录(错误代码:2)的主要内容,如果未能解决你的问题,请参考以下文章

使用 cron 每 5 分钟后无法运行 python 脚本

linux的cron任务介绍

如何在没有密码提示的情况下执行 mysqldump?

如何在没有密码提示的情况下执行 mysqldump?

cron与anacron

Cron 无法运行 bash 脚本