Скрипт ротации Apache Log - PullRequest
       5

Скрипт ротации Apache Log

2 голосов
/ 21 июля 2009

У меня работает следующий скрипт для резервного копирования моих журналов 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

и я не могу найти причину. Есть идеи?

Ответы [ 2 ]

2 голосов
/ 21 июля 2009

logrotate твой друг

1 голос
/ 21 июля 2009

Я бы проверял:

  • переменная ${dt} из задания cron (echo "${dt}" | od -xcb >/tmp/qq); и
  • сам скрипт (od -xcb scriptname);

чтобы узнать, генерируются ли странные символы где-либо.

Кроме того, я не могу понять вашу вторую команду. Есть ли где-нибудь файл access_log072 или ваша команда была как-то урезана?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...