cronjob zum Erstellen von zwei Dateien mit jeweils 2 GB Größe

433
user286205

Ich muss einen Cron-Job erstellen, der jede Stunde läuft.

Dieser Cron-Job sollte zwei Dateien mit jeweils 2 GB erstellen, eine sollte aus / dev / urandom und die andere aus / dev / zero erstellt werden und in ein bestimmtes Dateisystem / Verzeichnis geschrieben werden.

Wie würde ich das machen?

-2
Da du weißt, dass du `dd 'und Cron brauchst ... Was hast du schon probiert? slhck vor 10 Jahren 1
nicht zu erwähnen, was ist der Sinn, jede Stunde eine Null-Datei neu zu erstellen? Oder für veraltete Psudorandom-Zahlen - etwas, das am besten heiß und frisch serviert wird? *Was versuchst du zu machen?* Journeyman Geek vor 10 Jahren 2
@JourneymanGeek Der Zweck dieses Tests besteht darin, die Festplatten-E / A zu testen user286205 vor 10 Jahren 0

2 Antworten auf die Frage

1
Sepahrad Salour

Sie können diese Dateien mit dem folgenden ddBefehl erstellen :

dd if=/dev/zero of=/tmp/ZeroFile count=10000 bs=200000

dd if=/dev/urandom of=/tmp/UrandomFile count=10000 bs=200000

und um diese Jobs mit cron einzuplanen, müssen Sie diesen Befehl in Ihrem cronjob eingeben:

  1. crontab -e
  2. Schreib es: 0 */2 * * * /path/to/your/command
Danke, Sepahrad! Was genau macht das * / 2-Bit in der Crontab? Ist es auch in Ordnung, den ganzen dd-Befehl direkt in die crontab einzufügen? ZB 0 * / 2 * * * dd wenn = / dev / null von = / new / ZeroFile count = 10000 bs = 200000 0 * / 2 * * * dd wenn = / dev / urandom = = new / UrandomFile count = 10000 bs = 200000 user286205 vor 10 Jahren 0
Ihre Begrüßung, * bedeutet die ganze Zeit und * / 2 bedeutet alle 2 Stunden. Setzen Sie sie in getrennte Zeilen ... Es muss funktionieren ... Wenn nicht, müssen Sie die Variable PATH für cron setzen oder den absoluten Pfad des Befehls dd schreiben . Sepahrad Salour vor 10 Jahren 0
0
thewheat

Bearbeiten Sie den Benutzer crontab

crontab -e 

Fügen Sie dann die folgenden Zeilen hinzu

0 * * * * dd if=/dev/random of=/tmp/myfile1.dat bs=$(( 1024 * 1024 * 1024 )) count=2 0 * * * * dd if=/dev/zero of=/tmp/myfile2.dat bs=$(( 1024 * 1024 * 1024 )) count=2 

Oder bearbeiten Sie / etc / crontab und ersetzen Sie user_to_run_as durch den Benutzer, unter dem Sie den Befehl ausführen möchten

0 * * * * user_to_run_as dd if=/dev/random of=/tmp/myfile1.dat bs=$(( 1024 * 1024 * 1024 )) count=2 0 * * * * user_to_run_as dd if=/dev/zero of=/tmp/myfile2.dat bs=$(( 1024 * 1024 * 1024 )) count=2 

Ich habe es ausprobiert und mit / dev / random erhalten Sie keine genaue Dateigröße. "Warum gibt dd von / dev / random unterschiedliche Dateigrößen an?" scheint die Erklärung dafür zu geben