LinuxでDjangoプロジェクトがデプロイされた後、サービスのデプロイは通常nginx + uwsgiを介して実行されます。サービスの実行後に生成されるuwsgi.logもますます大きくなり、時間の経過とともにサービスのアクセス速度に影響します。Linuxのcrontabタイミングタスクを使用してログファイルをダンプする方法を以下に紹介します。
1. uwsgi.logログとそのダンプログパスを作成する
/mnt/logs/uwsgi_log/ # uwsgi.log日志路径
/mnt/logs/uwsgi_log/back/ # uwsgi.log转储日志路径
2. uwsgi.iniのログストレージパスを変更する
daemonize=/mnt/logs/uwsgi_log/uwsgi.log
3.システムのcrontab呼び出し用のlogrotate.confファイルを作成するファイルの内容は次のとおりです。
/mnt/logs/uwsgi_log/uwsgi.log # 原日志路径
{
daily # 转储形式,按天转储
rotate 30 # 保留的转储文件数量
ifempty
nocompress
missingok
copytruncate
dateext
dateformat .%Y%m%d # 转储后的文件命名
olddir /mnt/logs/uwsgi_log/back/ # 转储路径
}
4. crontabに時限タスクを追加する
最初にコマンドcrontab -eを使用して、時間指定タスクエディターに入ります。
上記のように、タスクは0:00に実行され、最初の0は分を意味し、2番目の0は時間を意味します。
完了後、ctrl + Xで保存、Shift + Y、Enterで終了します。最初に実行時間を近い時間に変更して、ログダンプが成功したかどうかをテストできます。
5.タイミングの実行を確認する
- 実行ログの末尾を表示する-f /var/log/cron.log
- スケジュールされたタスクのリストを表示するcrontab -l