我正在尝试使用cpanel中的cron作业设置自动数据库备份,这些作业将通过电子邮件发送给我自己,但遇到了一些问题。目前我尝试了两种不同的解决方案,但遇到了类似的错误。
首先我尝试了这个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。
所以任何想法如何让其中一个工作或甚至更好的解决方案?
答案 0 :(得分:2)
uuencode
只是将二进制数据(由gzip
压缩得到的)转换为适合作为7位安全“文本”数据的文本数据。您可以尝试使用base64
。
您也可以尝试使用更好的压缩。因此,不管是gzip
,还是bzip2
或更好xz
,无论可用的是什么。
对于mysqldump
,请查看文档:
您可以使用选项--no-defaults
不尝试读取任何选项文件。您也可以创建自己的选项文件(可能基于您已在其他地方使用的某些配置)并使用--defaults-file
传递它。