efeijoo Geschrieben 12. Januar 2010 Geschrieben 12. Januar 2010 Hallo zusammen Als erstes möchte ich erwähnen das ich ein absoluter neuling bin betreffend scripting. Bin gerade dabei mich einzuarbeiten und bräuchte euere Hilfe. Ich bin gerade an einem Script was Ordner für die Sicherung anlegt falls nicht schon vorhanden und bestimmte Files von Path1 nach Path2 kopiert. Soweit so gut. Jetzt möchte ich das bei den kopierten Files noch das Datum angehängt wird mit date +%Y%m%d. Und das krieg ich einfacht nicht hin. Ich denke ich muss irgendwie das File in eine Varible schreiben um dann das Datum anzuhängen und dies durch eine Schlaufe laufen lassen damit alle Files umbenennt werden. Kann mir jemand ein Tip geben? Anbei mein Sript... ********************************************************** # Variablen setzen # ********************************************************** heute=`date +%Y%m%d` text_datum=`date +%d"."%m"."%Y` text_zeit=`date +%T` system_datum=`date +%d"."%m"."%Y` JAHR=`date +%Y` MONAT=`date +%m` ftp_path=/export/home/ftp/lukb swx_path=/export/home/smb/swx # Sind Files für das Kopieren vorhanden if [ ! -f ${AP_DAT}/RSD*.txt ] ; then echo "Es sind Keine Files da um zu Kopieren" exit 0 fi # ********************************************************** # Erstellen Ordner für die Sicherung # ********************************************************** # Erstelle ein Jahres Verzeichnis # ********************************************************** if [ ! -d ${swx_path}/${JAHR} ] ; then echo "Das Verzeichnis ${swx_path}/${JAHR} wird erstellt" mkdir ${swx_path}/${JAHR} fi # ********************************************************** # Erstellen das Monats Verzeichnis # ********************************************************** if [ ! -d ${swx_path}/${JAHR}/${MONAT} ] ; then echo "Das Verzeichnis ${swx_path}/${JAHR}/${MONAT} wird erstellt" mkdir ${swx_path}/${JAHR}/${MONAT} fi # ********************************************************** # SWX # ********************************************************** echo Files nach /export/home/smb/swx kopiert cp ${AP_DAT}/RSD*.txt ${swx_path} cp ${AP_DAT}/RSD*.txt ${swx_path}/${JAHR}/${MONAT} echo "Das File wird im Ver. DAT gelöscht" rm ${AP_DAT}/RSD*.txt Zitieren
4psh Geschrieben 13. Januar 2010 Geschrieben 13. Januar 2010 Hi, bin da auch kein Profi - aber bei mir hats bis jetzt so funktioniert, die Strings zu verbinden: ${bla}${blubb} oder hab ich da noch was falsch verdstanden ? greets Zitieren
efeijoo Geschrieben 13. Januar 2010 Autor Geschrieben 13. Januar 2010 Hallo bigvic Um deine Frage zu beantworten. Es ist die Korn-Shell. Hier noch mein überarbeitetes Script. Hier bin ich der Meinung das es funktionieren sollte, tut es aber nicht. Gibt einen Fehler aus beim moven. #!/bin/sh # Variable Laden # ********************************************************** # Wenn Job nicht laufen sollte EXIT ohne Fehler verlassen # ---------------------------------------------------------------- # ********************************************************** # Variablen setzen # ********************************************************** heute=`date +%Y%m%d` text_datum=`date +%d"."%m"."%Y` text_zeit=`date +%T` system_datum=`date +%d"."%m"."%Y` JAHR=`date +%Y` MONAT=`date +%m` ftp_path=/export/home/ftp/lukb swx_path=/export/home/smb/swx # Sind Files für das Kopieren vorhanden if [ ! -f ${APSYS_DAT}/RSD*.txt ] ; then echo "Es sind Keine Files da um zu Kopieren" exit 0 fi # ********************************************************** # Erstellen Ordner für die Sicherung # ********************************************************** # Erstelle ein Jahres Verzeichnis # ********************************************************** if [ ! -d ${swx_path}/${JAHR} ] ; then echo "Das Verzeichnis ${swx_path}/${JAHR} wird erstellt" mkdir ${swx_path}/${JAHR} fi # ********************************************************** # Erstellen das Monats Verzeichnis # ********************************************************** if [ ! -d ${swx_path}/${JAHR}/${MONAT} ] ; then echo "Das Verzeichnis ${swx_path}/${JAHR}/${MONAT} wird erstellt" mkdir ${swx_path}/${JAHR}/${MONAT} fi # ********************************************************** # SWX # ********************************************************** echo Files nach /export/home/smb/swx kopiert for i in RSD*.txt; do#mv $i ${heute}_${i}; done mv ${APSYS_DAT}/$i ${swx_path}/${heute}_${i} mv ${APSYS_DAT}/$i ${swx_path}/${JAHR}/${MONAT}/${heute}_${i} echo "Das File wird im Ver. DAT gelöscht" rm ${APSYS_DAT}/RSD*.txt # if [ -z "$2" ] ; then break ; fi Zitieren
Juchi Geschrieben 16. Januar 2010 Geschrieben 16. Januar 2010 Interessant wäre noch, welchen Fehler in welcher Zeile das Script ausgibt. Und was steht in der Variable ${APSYS_DAT}? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.