我正在使用 Ubuntu 14.04。我安装了:
apt-get install automysqlbackup
然后我在里面进行配置/etc/default/automysqlbackup
,设置如下:
DBNAMES='TESTDB'
BACKUPDIR="/home/backup"
那么它什么时候运行呢?我很好奇。
我基于此关联,当我运行命令时:
automysqlbackup
我收到此错误:
#Checking for permissions to write to folders:
base folder /var/backup ... does not exist. Exiting.
Note: Supplied more than one argument, ignoring ALL arguments - using default and global config file only.
Note: /etc/automysqlbackup/automysqlbackup.conf was not found - no global config file.
Error: No basedir found, i.e.
/usr/local/bin/automysqlbackup: line 835: 6: Bad file descriptor
/usr/local/bin/automysqlbackup: line 836: 7: Bad file descriptor
Skipping normal output methods, since the program exited before any log files could be created.
但链接中没有它的配置。
有人能告诉我为什么吗?
答案1
快速谷歌搜索显示,如果 BACKUPDIR 中的路径不可用(即不存在),脚本将仅查找 basedir(硬连线)。
请再检查一下,
- 您输入的文件夹有效
- 您输入的文件夹可以访问
- 配置文件中的符号是有效的(此处需要引号!)
根据您的描述,我怀疑您选择了正确的路径。
/home/backup
我猜您尝试写入名为“backup”的用户的主文件夹。将文件夹添加到用户主目录以外的 /home 目录并不是一个好习惯。您应该始终尽量避免这种情况。
此外,从您提供的链接中,您可以看到该脚本作为每日 cron 运行,您可以在 /etc/cron.daily 中找到它。
答案2
在我的例子中,与文件夹权限有关,为了使其工作,我要么以 sudo 身份运行命令
sudo automysqlbackup
或者可以更改文件夹的所有者
首先要检查文件夹的所有者,以下命令将显示谁是该文件夹的所有者
ls -al backups
可能会根
drwxrwx-w- 5 root root 4096 Dec 24 01:47 backups
所以继续改变它
sudo chown your_user /backups
现在它看起来像
drwxrwx-w- 5 your_user root 4096 Dec 24 01:47 backups
最后运行脚本
automysqlbackup
在这种情况下,转储文件 gzip 文件将放置在
/backups/daily/your_database_name/