初めまして。
ログの自動バックアップについて質問させてください。
当方、Red Hat Linux 9を使用してます。
/usr/local/bin/scripts/log.shを作りました。
log.shの中身は以下の通りです。
#!/bin/sh
#
###backup scripts###
tar cvfz /home/usr/Logs/Logs-`date +%Y%m%d`.tar.gz /usr/local/apache2/logs
Logsというフォルダの中に
Apache2のログを圧縮して保存するようにしています。
このシェルスクリプトをcronに毎日実行するように登録してあるという状態です。
logrotate.d以下にあるapacheですが、
その中身は
/usr/local/apache2/logs/*_log {
daily
rotate 10
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /usr/local/apache2/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}
こんな感じです。
ここから相談内容なのですが、
どうもうまくバックアップしてないみたいです。
圧縮されたファイルをWindows機にFTPで転送後、中身を確認してみても
accept.lock、httpd.pid、ssl_scache.dir、ssl_scache.pag
しか入っておらず、肝心なlogが入ってません。
このサイトから主旨の外れた質問かもしれませんが、よろしくお願いします。
> どうもうまくバックアップしてないみたいです。
> 圧縮されたファイルをWindows機にFTPで転送後、中身を確認してみても
> accept.lock、httpd.pid、ssl_scache.dir、ssl_scache.pag
> しか入っておらず、肝心なlogが入ってません。
スクリプトの実行ユーザとlogファイルのパーミッションのミスマッチでは?
この方法だと、logが冗長で入ってしまうのでは?
下記は参考にならないですか?
http://httpd.apache.org/docs/2.1/ja/programs/rotatelogs.html
> スクリプトの実行ユーザとlogファイルのパーミッションのミスマッチでは?
これが原因かもしれません・・・。
rootでログインして、スクリプトを実行するとうまくいったのを覚えてます。
cronには別ユーザーで登録しているので・・・。
> この方法だと、logが冗長で入ってしまうのでは?
> 下記は参考にならないですか?
>
> http://httpd.apache.org/docs/2.1/ja/programs/rotatelogs.html
ご推薦のページですが、英語ばかりでよくわかりませんでしたが、
差分ファイルのバックアップが取れるrsyncコマンドも試してみようと思います。
今月は多忙のため、サーバーを弄る時間がとれないのですが
また何かあればよろしくお願い致します。
ありがとうございました。