还是Crontab 的那些事 

继上次修复了crontab路径错误的问题后,我发现我的数据库备份文件夹下还是0个文件~

这到底是肿么了?

经过排查,我初步认为是我命令脚本里的"data +%s" 在作怪,因为有很多人说cron 里不支持 百分比"%" 这样的符号,需要进行转义(就像正则里一样~)。

所以,我的crontab 脚本变成了这样:

[[email protected] ~]# crontab -l
0 0 * * * root /usr/local/bin/mysqldump -A -C -u dumper | bzip2 -9 > /home/ftp/xzx/sql/mysql_`date +\%s`.sql.bz2

之后,为了方便调试,我把任务执行周期改为了一分钟一次。

果然,文件出现了~可是问题又来了,所有的数据包就是0字节。这是神马原因呢?

难道是因为权限不够?

我干脆用root身份去备份试试看~ 我把命令改成这样:

[[email protected] ~]# crontab -l
* * * * * root /usr/local/bin/mysqldump -A -C -uroot -pXXXXX | bzip2 -9 > /home/ftp/xzx/sql/mysql_`date +\%s`.sql.bz2

很遗憾,还是不行。依然0字节。

这个时候,我忽然觉得在命令前面加上root,重复去指定脚本执行用户可能是个错误。我删掉了root,当然也换回了默认备份数据库用户dumper,脚本如下:

[[email protected] ~]# crontab -l
* * * * * /usr/local/bin/mysqldump -A -C -u dumper | bzip2 -9 > /home/ftp/xzx/sql/mysql_`date +\%s`.sql.bz2

果然,这次成功了~见下:

[[email protected] ~]# ls /home/ftp/xzx/sql -lh
total 2.8M
-rw------- 1 root root 707K Aug 6 15:58 mysql_1312631881.sql.bz2
-rw------- 1 root root 707K Aug 6 15:59 mysql_1312631941.sql.bz2
-rw------- 1 root root 707K Aug 6 16:00 mysql_1312632001.sql.bz2
-rw------- 1 root root 707K Aug 6 16:01 mysql_1312632061.sql.bz2

恩,707Kb,这才是我想要的~

最终脚本如下,仅供参考:

[[email protected] ~]# crontab -l
0 0 * * * /usr/local/bin/mysqldump -A -C -u dumper | bzip2 -9 > /home/ftp/xzx/sql/mysql_`date +\%s`.sql.bz2

1 0 * * * chmod go-rwx /home/ftp/xzx/sql/*
[ ] ( 1214 次浏览 ) 永久链接 ( 3.1 / 1582 )

<< <上一页 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 下一页> >>