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

Cron mysqldump, Can't read dir of '/etc/my.cnf.d' (Errcode: 2)

我正在尝试使用 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。

那么有什么想法可以让其中之一发挥作用,甚至是更好的解决方案吗?

uuencode 简单地将二进制数据(您通过 gzip 压缩获得)转换为适合作为 7 位安全 "text" 数据的文本数据。您可以尝试 base64

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

对于mysqldump,请查看文档:

您可以使用选项 --no-defaults to not try to read any options file. You can also create your own options file (maybe based on some configuration you use somewhere else already) and pass it using --defaults-file