Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Tar Backup Script

  1. #1
    Registrierter Benutzer
    Registriert seit
    06.02.2001
    Ort
    68xxx Mannheim
    Beiträge
    73

    Tar Backup Script

    Moin!

    Ich möchte mir ein Kleines Backup script schreiben das mir bestimmte files sichert. Das script sieht ungefähr wie folgt aus:

    #verzeichnise die gesichert werden:

    Datei1=$HOME/bla1
    Datei2=$HOME/bla2
    usw.

    tar -cvfz backup.tar.gz Datei1 Datei2 usw.


    So jetzt frag ich mich ob das auch anders geht als jede datei die gebackupt werden soll festanzugeben.
    Könnte man das ganze auch mit einem Array und einer schleife machen? Wenn ja wie ?

    Ich stelle mir das so vor:

    array[30]="$HOME/bla1","$HOME/bla2";

    for(i=0;i<30;i++){

    tar -cvfz backup.tar.gz array[i]

    }

    Für Hilfe wäre ich dankbar!!

    mfg Jancarsten

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Am besten schreibst du einfach alle in eine Datei und machst nachher ein

    tar -cvfz backup.tar.gz $(cat liste.txt | xargs)

    oder auch anders

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    06.02.2001
    Ort
    68xxx Mannheim
    Beiträge
    73
    Ah gut!!! Kuze frage: Was macht das xargs?

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Xargs kriegt sowas:
    Code:
    /da/ist/datei1
    /da/ist/datei2
    und liefert das dann so weiter:
    Code:
    /da/ist/datei1 /da/ist/datei2
    würdest du das nicht machen würde die Bash den Zeilenumbruch als Kommandotrenner interpretieren - d.h. die erste Datei wird getarrt und dann wird versucht die zweite auszuführen (und jede Folgende).

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Also entweder
    Code:
    tar .... $(cat liste)
    oder
    Code:
    cat liste|xargs tar ....
    xargs liest von stdin und übergibt alles, was es gelesen hat, an das angegebene Programm als Kommandozeile.

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ok, ich habe xargs bisher offenbar nur recht abartig verwendet (geht allerdings, und das zählt )

    Wennschon aber dann doch bitte
    Code:
    xargs tar .... < liste
    sonst kriegst du einen useless use of cat award verpasst und das möchtest du ja nicht, oder?

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •