Datein kopieren

Lord_Icon

Member
hi..

ich würde gern eine große Datei von einer Platte auf die gleiche Platte kopieren...

sprich = die restlichen Programme, die drauf laufen würden extrem langsam laufen.
Da ich Zeit habe, würde ich gern ein kopierbefehl einsetzen wollen, den ich geschwindigkeitsmäßig einschränken kann.

cp selbst kann das nicht.

Kennt jm, ein anderes Programm, wo ich das sagen kann ?
 
kann ich ein befehl gleich mit entsprechender CPU Last starten ?

Mein Script derzeitig:
Code:
#!/bin/bash

date=`date +%d-%m-%Y`
zeit=`date +%H-%M-%S`


echo "Sicherung -SYSTEM- begonnen"
mutt -s "Sicherung -SYSTEM- begonnen ("%date %zeit")" -bc info@mai_addy.de < /dev/null
tar zcvf system_$date-$zeit.tar.gz system

also der tar befehl. Denn der nimmt immer 90-97% CPU Last (inkl. gzip)
 
Nicht direkt. mit nice vorneran regelst du nur die Priorität der Prozesse. D.h. tar kann dann zwar immer noch bis zu 100% die CPU belasten, aber dein System wird dadurch nicht langsamer, da immer noch andere Prozesse eine höhrere Priorität gegenüber tar haben und tar dann "gebremst" wird. So oder so ähnlich musst du dir das vorstellen.
 
oki... verstanden.

klappt. Für die anderen =>

Code:
Aufruf: nice [OPTION] [BEFEHL [ARGUMENT]...]
BEFEHL mit festgelegter Priorität ausführen, was Zeitzuteilung beeinflusst.
Ohne BEFEHL, die aktuelle Priorität ausgeben. Die Priorität reicht dabei von
-20 (vorteilhafteste Zeitzuteilung) bis 19 (unvorteilhafteste Zeitzuteilung).

ergo:

Code:
nice -n 19 tar zcvf <name/der/Datei/sicherung.tar.gz <Pfad/zur/Datei/die/gesichert/werden/soll/***>
 
Bedenke bei sowas auch "ionice", das ist wie weiter oben beschrieben nicht das gleiche wie "nice".
Gerade bei solchen Aktionen sollte dies mit berücksichtigt werden.

Was nützt dir beispielsweise ein Webserver der zwar über genügend CPU Ressourcen verfügt, aber nicht an die Dokumente auf der Platte ran kommt. ;)
 
hmm....

ja und nein. Weil ionice ist doch eher dafür, wenn ich was übers Netzwerk schiebe. Bedingt dadurch, erhalte ich eine geringe Plattenauslastung. Oder hab ich da was falsches gelesen ?

Code:
Usage: ionice [OPTIONS] [COMMAND [ARG]...]
Sets or gets process io scheduling class and priority.

        -n      Class data (typically 0-7, lower being higher prio)
        -c      Scheduling class
                        1: realtime, 2: best-effort, 3: idle
        -p      Process pid
        -h      This help page


Best-Effort => Quelle: itwissen.info
Best-Effort-Prinzip
best effort delivery

Bezeichnung Best-Effort-Prinzip wird in Netzwerktechnologien benutzt die keine Datensicherungsmechanismen in der Sicherungsschicht haben. Wörtlich übersetzt heißt Best Effort Delivery Auslieferung nach bestem Bemühen. In den TCP/IP-Protokollen funktioniert diese Technik zufriedenstellend, weil das IP-Protokoll davon ausgeht, dass das zugrunde liegende Netz eine nicht gesicherte Verbindung verbindungslos zur Verfügung stellt. Das IP-Protokoll zusammen mit dem UDP-Protokoll stellt einen Best-Effort-Delivery-Service für Anwenderprogramme bereit.
 
ahh... schön erklärt.

aber wie kann ich denn 3 Befehlssätze miteinander kombinieren ?

Ich hab es jetzt einfach mal auf gut Glück versucht... zumindest springt der Befehl an und es wird auch gesichert.

Allerdings kann ich jetzt nicht nachprüfen, ob das auch so richtig ist.
Rechner hat 0% Auslstaung = ergo is Prozess meist auf 95-97%.

und n lastigen 2ten Prozess will ich jetzt mal nicht zusammenschustern.

Aber ich denke doch, das es so korrekt ist ?

Code:
ionice -c2 nice -n 19 tar zcvf /email.tar.gz /local/Backup/email

Oder muß ich die Befehlssätze noch mit | trennen ?
 
Mit diesem Befehl würdest du ionice auf den nice Befehl anwenden und nicht auf den eigentlichen tar Befehl.
Mein Tipp wäre, tar über nice zu starten, PID holen und ionice auf die PID anwenden.
Mit einem kleinen Scriptchen sollte das kein Problem sein. :)
 
Back
Top