Vollständige Version anzeigen : Automatisch Packen und Upload


Lorenz
04.06.2013, 15:50

Hallo,

Ich möchte mir gerne mittels einem Script datein mir rar packt und auf 3 servern (im netzwerk ) uploaden:

1. einen ordner oder Datei eingibt,
2. Volumen art,auswal zwischen alte archivformat ;r00 und neue archivformat partx;rar wählt
3. komprimierungsrate wahlen/eingeben
4. mit oder ohne Wiederherstellungsinformation und wenn ja wie viel
5. packt die datei oder Ordner auf ca. 300MB mit vorgegebener PW
6. rar files testen

wenn alles erfolgreich war
7. erstellte rar file auf meine backup server 1 bis 3 am besten nacheinander via lftp uploaden

6. log file wird erstellt

Ich kenne mich mit shell scripten nicht gut aus deswegen hoffe ich auf gute tipps

LG

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
MasterJulian
04.06.2013, 19:04

Gehört ins programmierer Forum. Wenn du absolut keinen Plan (keinen Ansatz) hast: [Code] Ich suche Programmierer [Sammelthema] - RR:Board


Lorenz
05.06.2013, 09:22

Gehört ins programmierer Forum. Wenn du absolut keinen Plan (keinen Ansatz) hast: [Code] Ich suche Programmierer [Sammelthema] - RR:Board

Hi

ich habe schon einen Ansatz

also zu mindestens die einzelne befehle wie man das "Manuel" realisieren kann (so wie ich das bis jetzt immer gemacht habe ) sind nicht das Probleme

im beispiel ist der Ordner gbsce der gepackt +3% Wiederherstellungsinformation und geuploaded werden soll

z;b

cd ~/Data/files

rar a -hpmeinpasswort -v307200k -m5 -rr3% gbsce;rar "gbsce"

oder

rar a -hpmeinpasswort -v307200k -m5 -vn -rr3% gbsce;rar "gbsce"

zum testen

rar t gbsce;part01;rar -hpmeinpasswort

oder

rar t gbsce;r00 -hpmeinpasswort

das uploaden

lftp -e 'mput -c gbsce;r*' -u meinusername,meinpasswort ftp;192;168;0;2
lftp -e 'mput -c gbsce;r*' -u meinusername,meinpasswort ftp;192;168;0;3
lftp -e 'mput -c gbsce;r*' -u meinusername,meinpasswort ftp;192;168;0;4

oder

lftp -e 'mput -c gbsce;part*' -u meinusername,meinpasswort ftp;192;168;0;2
lftp -e 'mput -c gbsce;part*' -u meinusername,meinpasswort ftp;192;168;0;3
lftp -e 'mput -c gbsce;part*' -u meinusername,meinpasswort ftp;192;168;0;4

die frage ist jetzt nur wie man das alles in einem Script realisieren kann mit ein "Kaufmannsund" (Ampersand) so das die shell nicht zugespammt wird, und alles in eine txt oder log file protokolliert werden soll

das ganze sollte so in etwa aussehen

ordner gbsce wurde mit alte archivformat gepackt

oder
ordner gbsce wurde mit neue archivformat gepackt

ordner gbsce wurde mit komprimierungsrate 5 gepackt

ordner gbsce wurde mit 3% Wiederherstellungsinformation gepackt

rar volumen ist 307200k groß (evtl noch) 90 parts mit eine Gesamtgröße von XX

Testing Archive gbsce;r00 All OK

oder
Testing Archiv gbsce;part01;rar All OK

90 Archive mit eine Gesamtgröße von XX wurden auf ftp;192;168;0;2 hochgeladen

90 Archive mit eine Gesamtgröße von XX wurden auf ftp;192;168;0;3 hochgeladen

90 Archive mit eine Gesamtgröße von XX wurden auf ftp;192;168;0;4 hochgeladen


unix
05.06.2013, 09:30

Hast ja schon einen Ansatz und anscheinend auch angefangen.
Nutze den <code> Tag und poste mal deine Anfänge hier.

Hier mal das openBook zu Shell Programmierung:
Galileo Computing :: Shell-Programmierung (;openbook;galileocomputing~de/shell_programmierung/)


Crack02
05.06.2013, 15:42

gibt verschiedene möglichkeiten. du kannst einfach die sdtout und stderr in die logdatei umleiten oder per $? exit codes abfrage, ob alles ok ist. sprich:

$
befehl xy
if [ $? != 0 ]; then
echo *******
else
echo passt!
fi


zur kruzen erklärung: $? beinhaltet den exit codes des zuletzt durchgeführten befehls. das kann ein rar x awhegiauweiuawgioefawugefiauwgeifpawugef ewig langer befehl sein oder ein einfaches "ls". 0 bedeutet alles ok. alle anderen codes bedeuten irgend einen fehler. einfach mal die manpages lesen, da stehen manchmal erläuterungen zu den fehlercodes. is bei rar ned anders.
probier einfach mal aus
$
ls
echo $?

wenn eine 0 dasteht passts.
$
ls /ogjuhoawhegiuawhiguawigiu
echo $?

hier sollte irgend eine zahl, aber keine null stehen, da das zu listende verzeichnis ned existiert.

wenn du den ganzen scheiß in n script packen willst, willst du bestimmt ned jedesmal den namen des zu packenden zeugs ändern. machs mir $1 $2.
beispiel: ;/deinscript~sh irgendwas;rar irgendwas/

im script selber wird irgendwas;rar als $1 und irgendwas/ als $2 bereitliegen. wenn du mehrere ordner packen willst wird eben $1 deine rardatei und $; (alle parameter, per awk den ersten filtern) sämtliche dateien die du packen willst. im script "$;" mit "", sonst gibts evtl. hässliche fehler.


Ähnliche Themen zu Automatisch Packen und Upload
  • [FTP] Flash FXP nach Upload automatisch PC ausschalten,ist es möglich?!
    hi RR'ler kann FFXP den PC nach fertigem UL automatisch ausschalten? mfg! [...]

  • Upload automatisch wiederaufnehmen
    Heidiho! Hab mal ne Frage zu Flash FXP: Es ist ja eigentlich recht praktisch, den PC laufen zu lassen, während man auf der Arbeit ist, um dann größere Dateien zu uppen. So, nun kommt es bei mir immer mal wieder vor, dass der Upload (warum auch immer) abbricht und dann die Frage kommt, ob man üb [...]

  • [FTP] Upload überschreibt automatisch
    Habe ein Problem mit Flash FXP, und zwar habe ich vor für die Community ein 2 GB Musi Packet zu uppen. Leider stellt sich folgendes Problem in den Weg: nach der 10 ;rar Datei kann ich einfach nicht weiter uploaden, er uppt die 11 Datei bis zu 60-70 MB und dann bricht es ab und versucht die 11 r [...]

  • [Batch/Bash] Ordner packen dann upload
    Hi liebe RRler! Ich bin jetzt seit knapp 2 stunden am probieren und komme zu keinem ergebnis. Ich habe verschiedene Möglichkeiten probiert aber es klappt nicht! Mein Problem ist der Upload! ftp;exe -n -i -s:daten;ftp -a pause ist die Bat Datei OPEN ;meinserver~de/bsp/ USER usern [...]



raid-rush.ws | Imprint & Contact pr