S
Sisko78
Jungspund
Hallo,
bin schon ne Weile daran, eine gescheite Methode zu finden, die Audiodateien eines Streamingservers automatisch in Verzeichnisse abzulegen und zwar derart:
- Verzeichnissname soll Datum sein, also etwa so 24-04-07
- Die Streams werden stündlich erstellt und sollen in das passende Verzeichniss kopiert und so umbenannt werden, dass Anfangs- und Endzeit im Dateiname stehen. Der Server legt stündlich audiox.rm an, wobei x hochgezäählt wird und erst wieder bei neustart des Servers von vorne loszählt
- Verzeichnisse sollen, wenn älter als 30 Tagen, mitsamt Inhalt gelöscht werden (aber da habe ich vorläufig mal ein extra skript gemacht, dass per cron täglich ausgeführt wird, allerdings werdne nur die Dateien gelöscht, da mache ich mich dann später noch mal dran)
Mein letzter Ansatz:
Mit den auskommentierten Sachen habe ich etwas rumgespielt, aber bin nicht so richtig zu Besserung gekommen.
Zum einen habe ich ein Problem, die Anfangszeit korrekt zu bestimmen, zum Anderen soll 23:01-0:01 noch nicht ins Verzeichnis für den neuen Tag (und mit access time habe ich irgendwie schwierigkeiten wegen weiterer Skripte, die gelegentlich laufen)
Wäre toll, wenn mir jemand helfen könnte.
Gruß
Sisko78
bin schon ne Weile daran, eine gescheite Methode zu finden, die Audiodateien eines Streamingservers automatisch in Verzeichnisse abzulegen und zwar derart:
- Verzeichnissname soll Datum sein, also etwa so 24-04-07
- Die Streams werden stündlich erstellt und sollen in das passende Verzeichniss kopiert und so umbenannt werden, dass Anfangs- und Endzeit im Dateiname stehen. Der Server legt stündlich audiox.rm an, wobei x hochgezäählt wird und erst wieder bei neustart des Servers von vorne loszählt
- Verzeichnisse sollen, wenn älter als 30 Tagen, mitsamt Inhalt gelöscht werden (aber da habe ich vorläufig mal ein extra skript gemacht, dass per cron täglich ausgeführt wird, allerdings werdne nur die Dateien gelöscht, da mache ich mich dann später noch mal dran)
Mein letzter Ansatz:
Code:
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DIR=
DESTINATION=
cd $DIR
for i in $(ls -l --time-style=long-iso *.rm|tr -s " "|cut -d " " -f8);do
filename=$i
# access time
# atime=`stat --printf=%x $filename | cut -d " " -f2 | cut -d "." -f1 | sed 'y/:/-/'`
#declare -i atimeHour=`echo $atime|cut -d "-" -f1`;
#endtimeHour=$((atimeHour +1));
mtime=`stat --printf=%y $filename | cut -d " " -f2 | cut -d "." -f1 | sed 'y/:/-/'`
#mhour=`echo $mtime|cut -d "-" -f1`
fdate=`stat --printf=%x $filename | cut -d " " -f1`
#if [ "$mhour" -eq "0" ];then fdate=echo $fdate |
cuttedFilename=`echo $i|cut -d "." -f1`
([ -d $DESTINATION/$fdate ] && echo 'directory exists' ) || mkdir $DESTINATION/$fdate && echo 'added directory'$DESTINATION/$fdate
mv $filename $DESTINATION/$fdate/$cuttedFilename-$mtime.rm
done
Mit den auskommentierten Sachen habe ich etwas rumgespielt, aber bin nicht so richtig zu Besserung gekommen.
Zum einen habe ich ein Problem, die Anfangszeit korrekt zu bestimmen, zum Anderen soll 23:01-0:01 noch nicht ins Verzeichnis für den neuen Tag (und mit access time habe ich irgendwie schwierigkeiten wegen weiterer Skripte, die gelegentlich laufen)
Wäre toll, wenn mir jemand helfen könnte.
Gruß
Sisko78