Wie viele Photos habe ich auf meiner Syno?

Status
Für weitere Antworten geschlossen.

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
Nachdem ich jetzt alle meine Photos auf meiner Syno konsolidiert habe interessierte mich auch wie viele Photos ich denn eigentlich alles habe. Deshalb habe ich ein kleines Script geschrieben welches mir die Info liefert. Vielleicht ist auch jemand anderes an der Anzahl interessiert ...

Rich (BBCode):
#!/bin/bash
echo "Counting photo images ..."
p=$(find /volume1/photo/ -iname *.jpg | grep -v -i eaDir | wc -l)
echo "Counting $p photos"
echo "Counting Moments images ..."
h=$(find /volume1/homes/*/Drive/Moments -iname *.jpg |grep -v -i thumb |grep -i -v eadir | wc -l)
echo "Counting $h photos"
echo "Found $(($p + $h)) photos"
 

AllFlyPlace

Benutzer
Mitglied seit
10. Dez 2019
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hey cramp vielen Dank das du dein Skript mit uns teilst. Werd es auch gleich mal testen & in meinen Aufgabenplaner mit einbauen. So einmal im Monat einen Bestand ist ja nicht schlecht.

Grüße
 

AllFlyPlace

Benutzer
Mitglied seit
10. Dez 2019
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Habe auch nochmals Hand angelegt ;-)

#!/bin/bash

echo "Fotos werden gesucht ..."
p=$(find /volume1/photo/ -iname *.jpg | grep -v -i eaDir | wc -l)
echo "Wir haben $p Fotos gefunden"
echo "Gefunden wurden Moments Fotos ..."
h=$(find /volume1/homes/*/Drive/Moments -iname *.jpg |grep -v -i thumb |grep -i -v eadir | wc -l)
echo "Wir haben $h Fotos gefunden"
echo "Found $(($p + $h)) photos"
echo "Pornobildchen wurden gefunden & entfernt"
 

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
...So einmal im Monat einen Bestand ist ja nicht schlecht...
Hast Du so einen starken Zuwachs pro Monat? Fuer mich war nur wichtig mal eine Hausnummer zu bekommen wie viele Photos so auf meiner Syno nach der Konsolidierung rumliegen.
 

AllFlyPlace

Benutzer
Mitglied seit
10. Dez 2019
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Das mit dem 1x im Monat ist vielleicht etwas viel, bzw. falsch ausgedrückt. Dann einmal im Jahr eine Inventur deiner Bilder
Aber was ich mich frage was ist, wenn ich .png Dateien besitze? Die werden ja laut deinem Skript nicht mitgezählt.
 

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
Das folgenden Skeleton kannst Du beliebig anpassen :D. Z.B. lassen sich damit auch Videos, Audios und alles Moegliche andere zaehlen
Code:
#!/bin/bash

# count all files with specific extensions
# in defined directories

# photos
EXTENSIONS="jpg png" # case insensitive search done
DIRECTORIES="/volume1/photo/ /volume1/homes/*/Drive/Moments" # directories to search for files
# videos
#EXTENSIONS="mpeg m2t wmv avi" # case insensitive search done
#DIRECTORIES="/volume1/video/ /volume1/homes/*/Drive/Moments" # directories to search for files

set -f
for ext in $EXTENSIONS; do
	if [[ -z "$EXT_PARM" ]]; then
		EXT_PARM="-iname *.$ext"
	else
		EXT_PARM="$EXT_PARM -o -iname *.$ext"
	fi
done

SUM=0
for dir in $DIRECTORIES; do

	echo "Counting number of files with extensions \"$EXTENSIONS\" in $dir ..."
	set +f
	p=$(find $dir \( $EXT_PARM \) | grep -v eaDir | wc -l)
	set -f
	echo "Found $p files"
	SUM=$(( $SUM + $p ))
done

echo "Found $SUM files in total"
 

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
Anbei noch eine Variante bei der alle Videos, Audios und Photos gezaehlt werden. Die Extensions und Verzeichnisse koennen den jeweiligen lokalen Gegebenheiten angepasst werden.
Code:
#!/bin/bash

# count all files with specific extensions
# in defined directories

# photo
P_EXTENSIONS="jpg png" # case insensitive search done
P_DIRECTORIES="/volume1/photo/ /volume1/homes/*/Drive/Moments" # directories to search for files
# video
V_EXTENSIONS="mpeg m2t wmv avi" # case insensitive search done
V_DIRECTORIES="/volume1/video/ /volume1/homes/*/Drive/Moments" # directories to search for files
# music
M_EXTENSIONS="mp3" # case insensitive search done
M_DIRECTORIES="/volume1/music/ /volume1/homes/*/Drive/Moments" # directories to search for files

TYPES=("P Photos" "V Videos" "M Music")

DEBUG=0

for type in "${TYPES[@]}"; do

	prfx=$(cut -f 1 -d ' ' <<< $type)
	desc=$(cut -f 2 -d ' ' <<< $type)

	e="${prfx}_EXTENSIONS"
	EXTENSIONS=${!e}
	d="${prfx}_DIRECTORIES"
	DIRECTORIES=${!d}

	EXT_PARM=""
	set -f
	for ext in $EXTENSIONS; do
		if [[ -z "$EXT_PARM" ]]; then
			EXT_PARM="-iname *.$ext"
		else
			EXT_PARM="$EXT_PARM -o -iname *.$ext"
		fi
	done

	SUM=0
	for dir in $DIRECTORIES; do
		(( $DEBUG )) && echo "Counting number of files for $desc in $dir ..."
		set +f
		(( $DEBUG )) && echo "find $dir \( $EXT_PARM \) | grep -v eaDir | wc -l"
		p=$(find $dir \( $EXT_PARM \) | grep -v eaDir | wc -l)
		set -f
		(( $DEBUG )) && echo "Found $p files for $desc"
		SUM=$(( $SUM + $p ))
	done

	echo ">>> Found $SUM files in total for $desc"
done
 

tproko

Benutzer
Sehr erfahren
Mitglied seit
11. Jun 2017
Beiträge
2.101
Punkte für Reaktionen
253
Punkte
129
Bei jpg würde ich dann auch noch jpeg mit aufnehmen. Man weiß ja nie :)
 

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
Die Liste der Extensions ist natuerlich nicht komplett. Sie kann aber beliebig erweitert werden :)
 

TeXniXo

Benutzer
Mitglied seit
07. Mai 2012
Beiträge
4.948
Punkte für Reaktionen
99
Punkte
134
Ich glaube, es wäre eh möglich, alle (zumindest die gängigsten) Extensions mitaufzulisten und im Ergebnis nur jene anzeigen zu lassen,, wenn $anzahl>0 ist (wenn 0 *png, dann zeigt es nicht an). Ist so glaub ich für alle am einfachsten.
 

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
Gute Idee. Ich aendere das Script entsprechend heute Abend. Vielleicht könnt Ihr ja noch für mich die moeglichen Extensions für Videos, Audios und Photos sammeln damit ich keine vergesse ;-)
 

framp

Benutzer
Mitglied seit
19. Feb 2016
Beiträge
903
Punkte für Reaktionen
64
Punkte
54
Ich habe das Script noch mal etwas erweitert und auf github abgelegt. Dann lassen sich Aenderungen leichter vornehmen ohne den Code hier jedesmal neu zu posten. Ueber Optionen lassen sich jetzt alle moeglichen Dinge abweichend von den Defaults konfigurieren.

Benutzen kann man es wenn man als admin auf der Syno angemeldet ist mit
Code:
wget https://raw.githubusercontent.com/framps/synologyTools/master/countMediaFiles.sh
bash ./countMediaFiles.sh
Mit Option -h erhaelt man eine Liste aller moeglichen Aufrufoptionen.
 

mann_0815

Benutzer
Mitglied seit
02. Apr 2008
Beiträge
26
Punkte für Reaktionen
0
Punkte
7
Hallo,
ich möchte mich hiermit mal herzlich bedanken.
Das ist genau nach meinem Geschmack :p.
Funktioniert schon recht gut.
Werde noch versuchen weitere Inhalte (PDF, XLS, DOC ...) abzufragen.
Habe das Script auch im Aufgabenplaner eingebunden und wollte monatlich eine Auswertung auch als Mail.
Dass mit der Mail funktioniert leider nicht.
Hat dazu jemand eine Idee?

Viele Grüße;
mann_0815
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat