Das Ausführen eines Tar-Befehls verbraucht alle Ressourcen

Das Ausführen eines Tar-Befehls verbraucht alle Ressourcen

Ich führe eine Rails-Anwendung auf meinem Ubuntu 12.04-Server aus. Ich habe einen Cron-Job eingerichtet, um jeden Morgen um 2 Uhr eine Sicherungskopie aller in meine Anwendung hochgeladenen Dateien zu erstellen. Das sind eine Menge Dateien (ca. 900 MB). Aber wenn die Benutzer die App später am Morgen verwenden müssen, können sie darauf zugreifen. Ich habe mich also mit SSH angemeldet (was unglaublich langsam ist), als ich endlich da war, habe ich einen Top-Befehl ausgeführt und sehe, dass der Gzip-Prozess alle Top 10 füllt. Sie sind ziemlich klein, aber ich vermute, es gibt noch mehr davon.

Dies ist der Tar-Befehl, der ausgeführt wird

tar -cvzf $BASEBACKUP/uploads-$DATE.tar.gz /var/www/bptrial/current/public/uploads/* --exclude=tmp

Meine Crontab

* 2 * * * cd /home/user/backup && sh mysql_backup.sh && sh files_backup.sh  >> /tmp/cron.log

Sollte es wirklich so viele Stunden dauern, 900 MB an Dateien zu komprimieren? Und warum müssen dafür alle Ressourcen verbraucht werden?

Antwort1

Ich denke, fkraiem hat recht.
Um es genauer zu erläutern:

Laut den Crontab-Manpages

user@host $ man 5 crontab 

Die Zeit- und Datumsfelder sind:

          field          allowed values
          -----          --------------
          minute         0-59
          hour           0-23
          day of month   1-31
          month          1-12 (or names, see below)
          day of week    0-7 (0 or 7 is Sun, or use names)

   A field may be an asterisk (*), which always stands for ``first-last''.

Unter deinem Kommando

#m h  dom mon dow   command  
 * 2   *   *   *    cd /home/user/backup...  

Sie meinen: JEDE Minute der zweiten Stunde jedes Tages jedes Monats jedes Wochentags. Mit anderen Worten: Jede Minute um 2 Uhr morgens wird eine weitere Instanz des von Ihnen angegebenen Befehls gestartet.

verwandte Informationen