一:问题描述
[root@mmdb script]# sh backup.sh
backup.sh: line 1: date+%Y%m%d%H: command not found
我的backup.sh脚本内容:
[root@mmdb script]# cat backup.sh
mysqldump -u'root' -p'********** --all-database > /backup/databasefile/database_all_`date+%Y%m%d%H`.sql --log-error=/backup/databasefile/database_all_`date +%Y%m%d%H`.err
后来发现,在/backup/databasefile路径下看到该备份语句生成的文件名称是这样的:
[root@mmdb databasefile]# ls -ltr
total 12728
-rw-r--r-- 1 root root 0 Sep 25 10:15 database_all_2014092510.err
-rw-r--r-- 1 root root 6501121 Sep 25 10:32 database_all_.sql
错误日志格式正确,但是备份文件却没有日期。
二:出错原因
备份文件里的`date+%Y%m%d%H`这里的date和+中间少了空格
三:解决办法
在date和+中间加上一个空格就可以了。
执行该脚本,没有再报错了。
现在,可以看到生成正确的文件格式了: