@Fusion, ich werde dich jetzt nicht zitieren (wegen der Übersichtlichkeit), aber du bist einfach genial und ich verstehe es tatsächlich
, DANKE!!!
Ich poste nochmal den gesamten Code, da ich durch dich einige Dinge geändert habe.
Ich habe beim Echo leichte Anpassungen gemacht und bin nun mit den Infos total happy
.
-> Natürlich wäre die Info der Ø Übertragungsrate des Kopiervorgangs (in MB/s) noch super gewesen, aber das brauche ich eigentlich nicht
(habe ja ne USB 3.0 Platte angeschlossen und zur Not schaue ich einfach mal in DSM).
Darüber hinaus habe ich noch weitere Informationen aus
hinzugefügt und bei deinem Tipp
Code:
df -h /volumeUSB1/usbshare[COLOR="#FF0000"]/[/COLOR]
hinzugefügt
.
So funktionierte es dann schon fast so wie ich es mir vorgestellt habe. Dann habe ich von ganz alleine die Funktion
hinzugefügt, um nach dem "Kopf" erst zu suchen, bin total stolz, danke nochmal!
Jetzt sind eigentlich nur noch sehr wenige Dinge übrig um das absolut perfekte Skript zu haben. Also eigentlich reicht es mir schon so, denn für mich funktioniert es ja zu 100%
. Aber wenn du noch Lust hast können wir gern weitermachen und ein wenig lernen bzw. lehren spielen.
Folgende Punkte habe ich nach Prio sortiert:
LOG
1. Log anders herum sortieren (sprich, der neuste Eintrag immer oben)
1b. Wegen der Übersichtlichkeit erst ab "->" das Log darstellen
1c. Ich habe am Log rum gespielt und bin von Sekunden auf Minuten gegangen, weißt du wie ich auch Minuten und Sekunden anzeigen kann? %m%s funktionierte nicht.
1d. Zwischen den Pfaden noch immer ein Leerzeile hinzufügen, setze ich das einfach so:
Code:
cd "[COLOR="#FF0000"]\n[/COLOR]$QUELLE2"
, oder muss ich das \n wo anders setzen?
Neue Funktionen
2. Schleifen, Variable setzen für Quellen oder Arrays (was du glaubst was das Beste ist)
3. Quellpfad/"Ordnername" auf Zielpfad erstellen, wenn nicht vorhanden. Sonst nichts machen (ist ja eine Form von Schleife) - Dadurch und durch Punkt 2 wird das Skript ziemlich universell (vielleicht auch für andere User)
Optional
4. Optional weil blöder Punkt: Ø Übertragungsrate des Kopiervorgangs (in MB/s)
Anbei der jetzige Code:
Code:
#!/bin/bash
AUSWAHLDATUM="2018-02-22"
QUELLE1="/volume1/DiskStation/Emby Testumgebung/- Filme x265 (Neu Test)"
QUELLE2="/volume1/DiskStation/Emby Testumgebung/- Filme"
QUELLE3="/volume1/DiskStation/Emby Testumgebung/- Kinderfilme"
QUELLE4="/volume1/DiskStation/Emby Testumgebung/- Serien"
ZIEL1="/volumeUSB1/usbshare/- Filme x265 (Neu Test)"
ZIEL2="/volumeUSB1/usbshare/- Filme"
ZIEL3="/volumeUSB1/usbshare/- Kinderfilme"
ZIEL4="/volumeUSB1/usbshare/- Serien"
LOGPFAD="/volumeUSB1/usbshare/Log.txt"
LOGFEHLERPFAD="/volumeUSB1/usbshare/Fehler.txt"
before=$(date +%m)
timestamp() {
date +"%d.%m.%Y - %T"
}
echo -e "\nStartzeitpunkt: $(timestamp)\n" >> $LOGPFAD
cd "$QUELLE1" && find -not \( -path "*@eaDir*" -prune \) -type f -newermt "$AUSWAHLDATUM" -exec cp -uv --parents "{}" "$ZIEL1" 2>> "$LOGFEHLERPFAD" 1>> "$LOGPFAD" \;
cd "$QUELLE2" && find -not \( -path "*@eaDir*" -prune \) -type f -newermt "$AUSWAHLDATUM" -exec cp -uv --parents "{}" "$ZIEL2" 2>> "$LOGFEHLERPFAD" 1>> "$LOGPFAD" \;
cd "$QUELLE3" && find -not \( -path "*@eaDir*" -prune \) -type f -newermt "$AUSWAHLDATUM" -exec cp -uv --parents "{}" "$ZIEL3" 2>> "$LOGFEHLERPFAD" 1>> "$LOGPFAD" \;
cd "$QUELLE4" && find -not \( -path "*@eaDir*" -prune \) -type f -newermt "$AUSWAHLDATUM" -exec cp -uv --parents "{}" "$ZIEL4" 2>> "$LOGFEHLERPFAD" 1>> "$LOGPFAD" \;
gesamtspeicherplatzderfestplatte() {
df -h /volumeUSB1/usbshare | awk '/^\/volumeUSB1/usbshare { print $2 }' | tail --lines +2 | sed 's/G.*/ Gigabyte/g; s/T.*/ Terabyte/g; s/M.*/Megabyte/g'
}
belegterspeicherplatz() {
df -h /volumeUSB1/usbshare | awk '/^\/volumeUSB1/usbshare { print $3 }' | tail --lines +2 | sed 's/G.*/ Gigabyte/g; s/T.*/ Terabyte/g; s/M.*/Megabyte/g'
}
freierspeicherplatz() {
df -h /volumeUSB1/usbshare | awk '/^\/volumeUSB1/usbshare { print $4 }' | tail --lines +2 | sed 's/G.*/ Gigabyte/g; s/T.*/ Terabyte/g; s/M.*/Megabyte/g'
}
belegterspeicherplatzinprozent() {
df -h /volumeUSB1/usbshare | awk '/^\/volumeUSB1/usbshare { print $5 }' | tail --lines +2
}
after=$(date +%m)
echo -e "\nScript-Laufzeit:" $((after - $before)) "Minuten" >> $LOGPFAD
echo -e "\nBelegter-Speicherplatz:" $(belegterspeicherplatz)" \t "Belegter-Speicherplatz:" $(belegterspeicherplatzinprozent)" >> $LOGPFAD
echo -e """\n"Freier Speicherplatz:" $(freierspeicherplatz) \t\t "Festplatten-Größe:" $(gesamtspeicherplatzderfestplatte)" >> $LOGPFAD
LOG
Code:
Startzeitpunkt: 13.03.2018 - 23:04:45
./Jumper (2008) -> /volumeUSB1/usbshare/- Filme x265 (Neu Test)/./Jumper (2008)
'./Jumper (2008)/Jumper (2008).nfo' -> '/volumeUSB1/usbshare/- Filme x265 (Neu Test)/./Jumper (2008)/Jumper (2008).nfo'
'./Jumper (2008)/Jumper (2008).mkv' -> '/volumeUSB1/usbshare/- Filme x265 (Neu Test)/./Jumper (2008)/Jumper (2008).mkv'
'./Jumper (2008)/clearart.png' -> '/volumeUSB1/usbshare/- Filme x265 (Neu Test)/./Jumper (2008)/clearart.png'
'./Jumper (2008)/banner.jpg' -> '/volumeUSB1/usbshare/- Filme x265 (Neu Test)/./Jumper (2008)/banner.jpg'
'./Jumper (2008)/logo.png' -> '/volumeUSB1/usbshare/- Filme x265 (Neu Test)/./Jumper (2008)/logo.png'
./Der Polarexpress (2004) -> /volumeUSB1/usbshare/- Kinderfilme/./Der Polarexpress (2004)
'./Der Polarexpress (2004)/Der Polarexpress (2004).nfo' -> '/volumeUSB1/usbshare/- Kinderfilme/./Der Polarexpress (2004)/Der Polarexpress (2004).nfo'
'./Der Polarexpress (2004)/poster.jpg' -> '/volumeUSB1/usbshare/- Kinderfilme/./Der Polarexpress (2004)/poster.jpg'
'./Der Polarexpress (2004)/disc.png' -> '/volumeUSB1/usbshare/- Kinderfilme/./Der Polarexpress (2004)/disc.png'
'./Der Polarexpress (2004)/clearart.png' -> '/volumeUSB1/usbshare/- Kinderfilme/./Der Polarexpress (2004)/clearart.png'
'./Der Polarexpress (2004)/banner.jpg' -> '/volumeUSB1/usbshare/- Kinderfilme/./Der Polarexpress (2004)/banner.jpg'
'./Der Polarexpress (2004)/logo.png' -> '/volumeUSB1/usbshare/- Kinderfilme/./Der Polarexpress (2004)/logo.png'
'./Der Polarexpress (2004)/fanart.jpg' -> '/volumeUSB1/usbshare/- Kinderfilme/./Der Polarexpress (2004)/fanart.jpg'
'./Der Polarexpress (2004)/landscape.jpg' -> '/volumeUSB1/usbshare/- Kinderfilme/./Der Polarexpress (2004)/landscape.jpg'
Script-Laufzeit: 0 Minuten
Belegter-Speicherplatz: 20 Gigabyte Belegter-Speicherplatz: 2%
Freier Speicherplatz: 1.9 Terabyte Festplatten-Größe: 1.9 Terabyte
Herzlichen Dank nochmal an dieser Stelle!
Ich hab es dir noch nicht verraten, aber wenn du mir deine Adresse per PN zukommen lässt, dann bekommst du was ganz tolles von mir
Viele Grüße
Seger