Wie viele Photos habe ich auf meiner Syno?

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

framp

Benutzer
Registriert
19. Feb. 2016
Beiträge
1.212
Reaktionspunkte
235
Punkte
89
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"
 
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
 
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"
 
...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.
 
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.
 
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"
 
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
 
Bei jpg würde ich dann auch noch jpeg mit aufnehmen. Man weiß ja nie :)
 
Die Liste der Extensions ist natuerlich nicht komplett. Sie kann aber beliebig erweitert werden :)
 
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.
 
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 ;-)
 
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.
 
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