我想在 centos 上使用 cron 备份文件夹。该文件夹c2duo_mms
位于/usr/local/src/djcode/c2duo_mms
. 我希望它在周二每下午 1:00 将 ip 备份到我的主文件夹/home/sh
。
我有一个转储 mysql 数据库的脚本。然后它压缩文件,并使用 cron 将其存储在我的主文件夹中。问题是我似乎收到一条错误消息。
mysqldump:无法执行“显示来自‘auth_group’的字段”:无法创建/写入文件“/tmp/#sql_151e_0.MYI”(错误代码:13)(1)c2duo_db-22072011.sql
现在在我的 centos 服务器图形端,它说 selinx 拒绝访问 mysqld。当然,如果我禁用 selinux,这可以正常工作。但我需要启用 selinux。有没有办法解决这个问题?
定时任务
10 11 * * 5 /home/sh/mysqlbackup.sh
Run Code Online (Sandbox Code Playgroud)
mysqlbackup.sh
#!/bin/sh
mysqldump -uroot -ppassword --opt c2duo_db > /home/sh/c2duo_db-`date +%d%m%Y`.sql
cd /home/sh
tar -zcvf c2duo_db.tgz *.sql
Run Code Online (Sandbox Code Playgroud)
编辑:这是我从命令中得到的grep mysqld /var/log/audit/audit.log | tail | audit2why
。
type=AVC msg=audit(1311581788.889:12363): avc: denied { write } for pid=22102 comm="mysqld" path="/tmp/#sql_151e_0.MYI" dev=dm-0 ino=103481390 scontext=root:system_r:mysqld_t:s0 tcontext=root:object_r:httpd_sys_content_t:s0 tclass=file
Was caused by:
Missing or disabled TE allow rule.
Allow rules may exist but be …
Run Code Online (Sandbox Code Playgroud) 我有一个转储 MySQL 数据库并压缩文件的脚本。我想要做的是有另一个(编辑)文件,它可以更改用户名、密码和数据库名称。然后以某种方式将该文件连接到该脚本。
在另一个文件中,我想要一些内容,例如。
username = "username"
password = "password"
database = c2duo_db
Run Code Online (Sandbox Code Playgroud)
然后在脚本名称mysqlbackup.sh 中从文件中导入用户名密码和数据库。
#!/bin/sh
mysqldump -u"username" -p"password" --opt c2duo_db > /home/sh/c2duo_db-`date +%d%m%Y`.sql
cd /home/sh
tar -zcvf c2duo_db-`date +%d%m%Y`.tar.gz *.sql
Run Code Online (Sandbox Code Playgroud)