Personal tools
You are here: Home Wiki ZopeReboot
FrontPage >>

ZopeReboot

Document Actions
last edited 6 years ago by jack

なんか、メモリリークしているのか、メモリの増大が激しいので、とりあえず、自動で再起動するようにしました

ついでにZODB のパックと export もつけました。これは http://takanory.net/ を参考にしました。

ただ、人と同じでは有為なメモにならないので、ちょっと替えました(笑)

まずは、再起動用スクリプトを書きます :

 #!/bin/sh
 AUTH="admin_id:admin_pass@Zope"
 SITE="zope.site.name"
 HOME="/path/to/zope/instance"
 OPT="-timeout 99 -auth $AUTH"
 OWN="zopeuser:zopegrp"
 cd $HOME/var
 /usr/bin/w3c $OPT "http://$SITE/Control_Panel/Database/main/manage_pack?days:float=7"
 /usr/bin/w3c $OPT http://$SITE/manage_exportObject
 mv .zexp root.zexp
 /usr/bin/w3c $OPT http://$SITE/Control_Panel/manage_restart
 chown "$OWN" root.zexp
 cd $HOME/log
 chown "$OWN" *log

まあ、どっちにしろ root 権限が必要なので、/root/zope_rotate とか作ります。そして、このスクリプトを FQDN とかで置きます :

 mv a /root/zope_rotate/zope.site.name
 chmod 700 /root/zope_rotate/zope.site.name

うーん。a ってのは適当すぎだったかも(笑)

つぎに、zope_rotate に logrotate.conf を書きます :

 weekly
 rotate 7
 create
 compress
 include /root/zope_rotate/instances

つぎに instances ディレクトリを掘ります :

 mkdir instances

そこに、logrotate の個別ファイルを作ります。やっぱり zope.site.name とかにしたほうがいいでしょう :

 /path/to/zope/instance/var/*zexp {
    missingok
    notifempty
    sharedscripts
 }
 /path/to/zope/instance/log/*log {
    missingok
    notifempty
    sharedscripts
    postrotate
        /root/zope_rotate/zope.site.name
    endscript
 }

最後に、logrotate の起動をcrontabに追加します :

 50 02 * * * /usr/sbin/logrotate /root/zope_rotate/logrotate.conf

これで週一packしてexportしてrebootしてlogrotate してくれる・・・はずです。

一件無意味に面倒そうですが、一台で複数インスタンス上げている場合には、こういう方式にしたほうがラクだと思います。

/root/zope_rotate , /root/zope_rotate/instances の下でコピーしてちょっと書きかえるだけですからね。

 
そちらのOSの時刻なので 正確性はあなた次第
 
こういう意味のないの好き
 
本をお勧め中
 
CDもお勧め中
のだめカンタービレ ベスト100
ドラマの演奏とは違います。でもこの感じでこの価格ならアリかと
 
消耗品や家電
 
よく使うサイト
社名ロゴ88×631
 
ぐぐってみる
 
誰が使うんだろう
 

Powered by Plone