Datum aus ls-l in Shell-Script verwenden
hallo linux admins,
ich habe das unten stehende skript geschrieben, um sicherungsimages die von den clients geschrieben werden zu sortieren. die sicherungsimages in form von PCNAME_sicherung.tib werden in den SOURCE_DIR geschrieben. von dort aus schiebt sie das script dann in DEST_DIR in den jeweiligen PCNAME-Ordner. Dabei benennt es die Dateien um und hängt einen Datum-Schlüssel vorne dran.
Ich übersah, dass das Datum das drangehängt wird natürlich nicht das datum der erstellung der datei ist, sondern das datum an dem das skript ausgeführt wird.
ist es möglich, dass datum des erstellungs-tages zu verwenden? zB mit awk aus dem ls-l befehl?
gruß
brampftl
#!/bin/sh
#Skript zum Verschieben, Umbenennen und Löschen von Backup-Images
#Pfad zu dem Verzeichnis, das die zu sichernden Dateien enthaelt
SOURCE_DIR="/srv/daten/images/sicherungs-images/pc/temp"
#Pfad zu dem Verzeichnis, in dem die einzelnen Ordner mit den Rechnernamen erstellt werden sollen
DEST_DIR="/srv/daten/images/sicherungs-images/pc"
#Welche Dateiendung haben die zu sichernden Dateien?
DATEIENDUNG="tib"
#String welcher das Datum enthaelt
DATUM=`date +%Y_%m_%d`
#Liste aller Dateien die zu sichern sind > Filtert nach Dateiendung
FILE_LIST=`find ${SOURCE_DIR} -maxdepth 1 -type f -name "*.${DATEIENDUNG}"`
echo "Zu sichernde Dateien :"
#Ausgabe aller zu sichernden Dateien
for FILE in ${FILE_LIST}; do
echo "\t${FILE}"
done
#Die Dateien sichern...
echo "Sichere Dateien :"
for FILE in ${FILE_LIST}; do
FILENAME=`basename ${FILE}`
RECHNERNAME=`basename ${FILENAME} | awk -F_ '{print $1}'`
ich habe das unten stehende skript geschrieben, um sicherungsimages die von den clients geschrieben werden zu sortieren. die sicherungsimages in form von PCNAME_sicherung.tib werden in den SOURCE_DIR geschrieben. von dort aus schiebt sie das script dann in DEST_DIR in den jeweiligen PCNAME-Ordner. Dabei benennt es die Dateien um und hängt einen Datum-Schlüssel vorne dran.
Ich übersah, dass das Datum das drangehängt wird natürlich nicht das datum der erstellung der datei ist, sondern das datum an dem das skript ausgeführt wird.
ist es möglich, dass datum des erstellungs-tages zu verwenden? zB mit awk aus dem ls-l befehl?
gruß
brampftl
#!/bin/sh
#Skript zum Verschieben, Umbenennen und Löschen von Backup-Images
#Pfad zu dem Verzeichnis, das die zu sichernden Dateien enthaelt
SOURCE_DIR="/srv/daten/images/sicherungs-images/pc/temp"
#Pfad zu dem Verzeichnis, in dem die einzelnen Ordner mit den Rechnernamen erstellt werden sollen
DEST_DIR="/srv/daten/images/sicherungs-images/pc"
#Welche Dateiendung haben die zu sichernden Dateien?
DATEIENDUNG="tib"
#String welcher das Datum enthaelt
DATUM=`date +%Y_%m_%d`
#Liste aller Dateien die zu sichern sind > Filtert nach Dateiendung
FILE_LIST=`find ${SOURCE_DIR} -maxdepth 1 -type f -name "*.${DATEIENDUNG}"`
echo "Zu sichernde Dateien :"
#Ausgabe aller zu sichernden Dateien
for FILE in ${FILE_LIST}; do
echo "\t${FILE}"
done
#Die Dateien sichern...
echo "Sichere Dateien :"
for FILE in ${FILE_LIST}; do
FILENAME=`basename ${FILE}`
RECHNERNAME=`basename ${FILENAME} | awk -F_ '{print $1}'`
- Verzeichnisse erstellen falls noetig
- Image ins Verzeichnis verschieben und Datum anhaengen
mkdir ${DEST_DIR}/${RECHNERNAME}
fi
echo "\${FILENAME} >> ${DEST_DIR}/${RECHNERNAME}/${DATUM}_${RECHNERNAME}.${DATEIENDUNG}"
done
#Sicherungen älter X Tage loeschen
find ${DEST_DIR} -name '*.tib' -mtime +14 -exec mv -v -f {} \;
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 50053
Url: https://administrator.de/contentid/50053
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
1 Kommentar