rails & nginx logfiles täglich backupen

Gast #4355497
Lesenswert?
• ▲
▼
Ich möchte gerne die Logfiles, die durch nginx (access.log, error.log) 
und rails (production.log) generiert werden täglich wegschieben und 
neuschreiben lassen.

Dafür habe ich folgendes Skript geschrieben, welches täglich durch cron 
ausgeführt wird:
1
#!/usr/bin/env ruby
2

3
require 'fileutils'
4
require 'date'
5
include FileUtils
6

7
cd '/var/backup'
8
mkdir_p 'mein_projekt'
9
cd 'mein_projekt'
10

11
date_dir = Date.today.strftime( "%Y/%m/%d" )
12
mkdir_p date_dir
13
cd date_dir
14

15
cp '/var/www/mein_projekt/shared/log/production.log', '.'
16
File.truncate( '/var/www/mein_projekt/shared/log/production.log', 0 )
17

18
cp '/var/log/www/mein_projekt/access.log', '.'
19
File.truncate( '/var/log/www/mein_projekt/access.log', 0 )
20

21
cp '/var/log/www/mein_projekt/error.log', '.'
22
File.truncate( '/var/log/www/mein_projekt/error.log', 0 )
23

24
%x( kill -USR1 $( cat /run/nginx.pid ) )
25
touch '/var/www/mein_projekt/current/tmp/restart.txt'
26
chown 'mein_deploy_user', 'mein_deploy_user', '/var/www/mein_projekt/current/tmp/restart.txt'

Ziel ist es, dies möglichst unterbrechungsfrei zu machen.
Das Skript wird als root ausgeführt, um die Berechtigungen der Dateien 
beizubehalten kopiere und truncate ich die Dateien.
Nachdem das gemacht wurde starte ich die Prozesse neu damit die logfiles 
neu aufgemacht werden und nach dem truncaten nicht bei der alten Größe 
weitermachen.
Ist dies das korrekte Vorgehen?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.