我运行以下脚本来备份我的apache日志
#!/bin/sh
dt=`date +%m%d%Y`
cp /var/log/httpd/domainname/www/error_log /var/log/httpd/domainname/www/oldlogs/error_log$dt
cat /dev/null > /var/log/httpd/domainname/www/error_log
cp /var/log/httpd/domainname/www/access_log /var/log/httpd/domainname/www/oldlogs/access_log$dt
cat /dev/null > /var/log/httpd/domainname/www/access_log
这是通过cron安排的。所以每天晚上都会备份和清空日志。但是,第二天早上我总是在日期之后获得带有奇怪字符的文件
[me@computer oldlogs]# ls
access_log07202009?? access_log07212009?? error_log07202009?? error_log07212009??
[me@computer oldlogs]#cat access_log072
access_log07202009^M^Maccess_log07212009^M^M
我无法找到导致它的原因。有什么想法吗?
答案 0 :(得分:2)
logrotate是你的朋友
答案 1 :(得分:1)
我正在检查:
${dt}
)内的echo "${dt}" | od -xcb >/tmp/qq
变量;和od -xcb scriptname
); 查看是否在任何地方生成了奇怪的字符。
另外,我无法弄清楚你的第二个命令。那里有某个access_log072
文件,或者你的命令被某种方式截断了吗?