Eine Datei automatisch kopieren und fortlaufend nummerieren

Hinweis: In dem Thema Eine Datei automatisch kopieren und fortlaufend nummerieren gibt es 5 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo zusammen
    Wir haben hier in der Firma eine etwas spezielle konstellation.
    Für euch wohl sehr einfach, für mich als Anfänger nicht wirklich. :)


    Folgendes Szenario:
    Ein Programm welches bei einem Benutzer auf dem Rechenr läuft, legt automatisch alle 5 Minuten ein PDF Dokument auf einem Windowsserver ab. bzw. das Dokument wird alle 5 Minuten mit neuen Daten aktualisiert.
    Den entsprechenden zugriff hab ich auch freigegeben und gehe mit der Linuxkiste Version 12.3 auf smb://Benutzer@server1/savings/savinglist.pdf
    Das File kann also manuell geholt werden.


    Jetzt brauch ich aber einen Automatischen Task (in Windows zusammen klicken und starten) welcher die Datei alle 30 Minuten nach /home/IT/Savinglists/
    kopiert und jedesmal unter einer anderen Nummer ablegt also: savinglist1.pdf savinglist2.pdf usw...
    so dass ich maximal 10 Versionen des Dokumentes habe und das jeweils älteste automatisch gelöscht wird.


    den CP befehl kenn ich auch wie ich einen cronjob anlege.
    Ich habe eine Datei angelegt:

    Code
    <CODE>
    #/bin/bash
    cp smb://Benutzer@server1/savings/savinglist.pdf /home/IT/Savinglists/
    </CODE>


    Funktioniert aber nicht wirklich
    "If 'savinglist' is not a typo you can use command-not-found to lookup the package that contains it, like this:
    cnf savinglist"
    Ausserdem fehlt so ja noch die erfoderliche Versionierung.


    Danke schon mal für eure hilfe.


    Gruss

    Für den Inhalt des Beitrages 56324 haftet ausdrücklich der jeweilige Autor: Zest

  • Hallo Zest,


    zum Thema Windows-Netzwerkverzeichnisse (CIFS) gibt es eine Vielzahl von Seiten.
    Bitte schau Dir doch erst mal diese in Ruhe an.
    Hinweis: mit dem Befehl cp ist Dein Problem des Kopierens lösbar - aber Du musst das Windows-Netzwerkverzeichnis erst mounten. Die "10-fach-Dateinamenschleife" kannst Du recht einfach aus Script-Schnipseln zusammenbasteln, die ebenfalls bereits bei der ersten Seite der Suchergebnisse bei Tante Google erscheinen.


    Gruß
    Boreas

    be tolerant - not ignorant
    Alle Hunde sind schwarz.
    Es gibt einen Hund der nicht weiß ist.

    Für den Inhalt des Beitrages 56329 haftet ausdrücklich der jeweilige Autor: Boreas

  • Hallo
    Danke für den Hinweis
    Hab das Mounten können.


    Ich hab schon nach "linux datei automatisch kopieren und nummerieren"
    "Linux Dateiversionierung"
    "Linux Autmoatisch kopieren Datei Versionierung"
    "Linux Datei kopieren mit Namensschleife"
    als suchbegriff gesucht aber nicht wirklich was brauchbares bekommen.
    Wie nennt sich diese Versionierung denn bei Linux? Muss ja wohl einen Namen dafür geben dank ich mal, dass man gezielt danach suchen kann.


    Ich will einfach nur folgendes:
    Kopiere Datei X in /Ordner/ benenne Datei X um in X1
    Kopiere Datei X in /Ordner/ benenne Datei X um in X2
    Kopiere Datei X in /Ordner/ benenne Datei X um in X3
    Kopiere Datei X in /Ordner/ benenne Datei X um in X4 und lösche X1
    Kopiere Datei X in /Ordner/ benenne Datei X um in X1 und lösche X2
    Kopiere Datei X in /Ordner/ benenne Datei X um in X2 und lösche X3
    Kopiere Datei X in /Ordner/ benenne Datei X um in X4 und lösche X1
    usw...


    So ich hab nun folgendes file hinbekommen
    backuplist.sh


    Diese Datei sollte nun automatisch starten

    Code
    */30 * * * 1-5 /root/bin/backuplist.sh


    1.
    die backuplist lässt sich manuellstarten und die datei wird wie gewünscht angelegt.
    Jedoch wird die immer wieder überschrieben.
    Jetzt muss noch eine Versionierung her. Nur wie das machbar sein soll, hab ich noch nicht gefunden.


    2.
    Der Job startet irgendwie nicht. Ich hab noch immer ein leeres verzeichnis. Warum weis ich nicht. Die datei liegt ja im bin Ordner.


    Bitte keine Diskussionen über "macht man nicht mit root" "root ist böse" "wieso root" usw...
    Es spielt keine rolle mit welchem Benutzer das gemacht wird. Es muss einfach am ende funktioniern :)

    3 Mal editiert, zuletzt von Zest ()

    Für den Inhalt des Beitrages 56351 haftet ausdrücklich der jeweilige Autor: Zest

  • Hallo Zest,


    sei nicht böse, aber ich sende Dir nicht eine fertig programmierte Schleife als Shell-Script. Im Wesentlichen weil ich genau Deinen Fall nicht aus meinem kleinen Fundus ziehen kann und weil es für einen "Stümper" wie mich auch etwas Mühe macht. Aber ich habe evtl. eine gute Lösung dennoch für Dich. Im Linux-Magazin Einzelheft - DELUG-DVD Ausgabe 01/2013 gab es die Gratis-Version des Buches "Klassische Shell-Programmierung" Verlag 'OReilly, da findest Du alles, was Du benötigst, um Dein Problem schnell zu lösen (Kapitel 6, 10 und 15). (Das Buch ist absolut empfehlenswert - ich habe vor ein paar Jahren gekauft und bin einfach begeistert:P ).


    Weitere Infos findest Du an vielen Stellen im Netz. Die folgenden Links habe nur Beispielcharakter ^^ .
    http://www.freebookcentre.net/…mming-Books-Download.html
    http://sgpit.com/shellscripting/
    und hier noch ein PDF-File zum Thema:
    Shell-Programmierung


    Gruß
    Boreas

    be tolerant - not ignorant
    Alle Hunde sind schwarz.
    Es gibt einen Hund der nicht weiß ist.

    Für den Inhalt des Beitrages 56378 haftet ausdrücklich der jeweilige Autor: Boreas