Sortierung & Indizierung von Bildern mittels Copy-Taste

Status
Für weitere Antworten geschlossen.

Cyrill

Benutzer
Mitglied seit
24. Aug 2012
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Hallo Leute,

da ich zu meinem Problem/Thema bis jetzt noch nichts richtiges gefunden habe mache ich mal ein neues auf.
Ich habe folgendes vor:
Wenn ich die SD Karte meiner Kamera einstecke (ich habe eine DS212+ mit 1er WD Red 3TB [die 2te war leider defekt geliefert worden :(]) möchte ich die Copy-Taste drücken und er soll mir die Fotos nach Erstellungsdatum ins Photo-Verzeichnis kopieren & sortieren und danach nur diese Bilder/Videos indizieren.
Ersteres läuft bereits super, ich nutze hierfür exiftool.
Allerdings will das mit der Indizierung noch nicht so ganz.
Nachdem ich gestern ein anderes Skript zur Indizierung neuer Bilder hier aus dem Forum verwendet habe und er danach stundenlang die CPU 100% ausgelastet hat (für 1 neues Bild) möchte ich dann doch lieber eine individuelle Lösung ;-)

Meine aktuelle synousbcopy sieht wie folgt aus:

Rich (BBCode):
#!/bin/ash

LOG=/volume1/backup/synousbcopy.log

# Noise and light functions
beep() {
  echo 2 > /dev/ttyS1;
}
longbeep() {
  echo 3 > /dev/ttyS1;
}
lighton() {
  echo @ > /dev/ttyS1;
}
lightoff() {
  echo B > /dev/ttyS1;
}
lightblink() {
  echo A > /dev/ttyS1;
}

#Call renamed binary
/usr/syno/bin/synousbcopy_bin > $LOG
sleep 1
lightblink
#switch to photo directory
cd /volume1/photo
#log current directories
ls -d */*/ > /volume1/backup/test1.log            
#Extract JPG's to photo directory                
exiftool -P -r "-Directory<DateTimeOriginal" -d "/volume1/photo/%Y/%Y-%m" "/volume1/sdcopy" -ext JPG >> $LOG
#Extract AVI's to video directory
exiftool -P -r "-Directory<DateTimeOriginal" -d "/volume1/video/kamera/%Y/%Y-%m" "/volume1/sdcopy" -ext AVI >> $LOG
# Delete $DIR_INPUT
rm -R /volume1/sdcopy/*
#log directories after creation
ls -d */*/ > /volume1/backup/test2.log
#compare directories; needed to find new/created directories + index them
diff /volume1/backup/test1.log /volume1/backup/test2.log | grep '+2' | sed 's/+2/2/g' | synoindex -A {}\;
#find newly created photos and index them
find /volume1/photo/ -cmin -30 -type f -user admin -exec synoindex -a {} \;

#finish
longbeep
sleep 1
longbeep
sleep 1
longbeep
lightoff

Leider scheint es wohl Probleme gerade mit den letzten beiden (diff & find) zu geben.
In einem Testfall habe ich ein Bild von November neu kopieren lassen (das erste Bild für November).
diff /volume1/backup/test1.log /volume1/backup/test2.log | grep '+2' | sed 's/+2/2/g' hat mir dann "2012\2012-11\" ausgespuckt, sieht mMn ganz gut aus.
Klappt leider trotzdem nicht :(
Hat hier jemand evtl. mehr Ahnung von Unix als ich (ich bin hier absoluter Newbie) und kann mir hier helfen?
Danke

Viele Grüße
Cyrill
 

werschi

Benutzer
Mitglied seit
19. Nov 2012
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Also das Script ist seltsam, das diff vergleicht die Directories vor und nach dem kopieren, die Ausgabe davon wird dann indiziert. Bei dir wäre das das ganze Verzeichnis /volume1/photo/2012/2012-11/. Dh. alle Fotos darin würden indiziert.

Das find sucht danach alle Dateien die in den letzten 30 Minuten unter /volume1/photo erstellt wurden und indiziert diese nochmals. :rolleyes:

Kannst du mal das diff auskommentieren, das ganze nochmals versuchen und danach den Output von
Code:
find /volume1/photo/ -cmin -30 -type f -user admin
posten?
 
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