Auteur Topic: [HANDLEIDING] Snelkoppeling/Symlink naar meerdere shares  (gelezen 3428 keer)

Offline raptile

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 66
  • -Ontvangen: 131
  • Berichten: 1.263
[HANDLEIDING] Snelkoppeling/Symlink naar meerdere shares
« Gepost op: 07 oktober 2012, 17:53:00 »
Soms heb je wel eens de wens dat je maar 1 share hoeft aan te klikken en dan je vanuit die share andere shares kunt zien.

Zo heb ik bijvoorbeeld een map waar in al mn downloads binnen komen en uitgepakt worden.
Al deze tijdelijke mappen/bestanden hoef ik niet te zien als ik een film of serie wil kijken op mn media speler.

Om die reden heb ik een script die symlinks (snelkoppelingen) maakt naar de door mij opgegeven folders.
Ik heb een share genaamd Video en daar in staan twee folders.
Movies en Series.

Hier in staan symlinks naar de series en films die in een andere folder staan.

op die manier krijg ik alleen te zien wat ik wil zien.


hiervoor hoef je alleen de volgende waarden op te geven in onderstaand script (deze is alleen voor mn Series):
# de source directories even defineren. (Je kunt hier 1 dir opgeven maar ook meerdere indien gewenst. Dit doe je door een spatie achter elk pad te plaatsen.
DIRTOSCAN="/volume1/Downloads/series /volume1/uploads/jan/Series /volume1/uploads/karel/Series"

# Aangeven waar de Symlinks moeten komen.
DESTDIR="/volume1/video/Series"

Script (voor series):
#!/opt/bin/bash

# Zorg dat de datum en tijd goed leesbaar zijn
DATE=`date +"%b %e %T "`

# print een melding naar het /var/log/symlinklog logbestand en toon de melding op het scherm dat het script is gestart
printf "e[37m${DATE}e[34m#------------------------- RUNNING /opt/home/series-symlink-script.sh -------------------------#ne[37m" >> /var/log/symlinklog
printf "e[37m${DATE}e[34m#------------------------- RUNNING /opt/home/series-symlink-script.sh -------------------------#ne[37m"


# Indien je de symlinks wilt verwijderen: find /volume1/video/Series/ -maxdepth 1 -type l -exec rm {} ;


# Verander de field seperator voor de for loop anders zal hij mappen met spaties in de naam per wordt afhandelen in plaats van de map in zijn geheel
IFS="
"

# de source directories even defineren.
DIRTOSCAN="/volume1/Downloads/series /volume1/uploads/jan/Series /volume1/uploads/karel/Series"

# Aangeven waar de Symlinks moeten komen.
DESTDIR="/volume1/video/Series"

# Controleer of alle symlinks nog valide zijn
find ${DESTDIR} | while read -r LINK; do
        # Indien de symlink verwijst naar een folder die niet bestaat
        if ! test -e "$LINK"; then
                # verwijder deze dan
                rm "$LINK"
                        # En toon dit in /var/log/symlinklog en op het scherm
                        filedirectory=$(dirname $LINK)
                        filename=`echo $LINK | sed 's!.*/!!'`

                        printf "e[37m${DATE} --- e[36mSYMLINK e[31mREMOVED e[37m--- ${filedirectory}/e[31m${filename}e[31mn" >> /var/log/symlinklog
                        printf "e[37m${DATE} --- e[36mSYMLINK e[31mREMOVED e[37m--- ${filedirectory}/e[31m${filename}e[31mn"
        fi
done




# Loop door de sources directories.
for i in $DIRTOSCAN ; do

        # Loop door de gevonden files in 1 van de source directories en delete regel 1 van de output
        for file in `find $i -maxdepth 1 | sed '1d' ` ; do

        # strip het pad zodat er alleen een bestandsnaam overblijft
        file1=`echo $file | sed 's!.*/!!'`

                # als een symlink van het bestand nog NIET bestaat (-h = symlink)
                if [ ! -h `echo ${DESTDIR}/${file1}` ] ; then

                        # Maak de symlink
                        ln -s ${file}  ${DESTDIR}

                        printf "e[37m${DATE}e[37m --- e[36mSYMLINK e[32mCREATED e[37m--- ${DESTDIR}/e[32m${file1}ne[37m" >> /var/log/symlinklog
                        printf "e[37m${DATE}e[37m --- e[36mSYMLINK e[32mCREATED e[37m--- ${DESTDIR}/e[32m${file1}n"

                fi
                # Sluit beide loops.
                done
done

# Print een melding naar /var/log/symlinklog en naar het scherm dat script klaar is
printf "e[37m${DATE}e[34m#------------------------- END OF SCRIPT -------------------------#n" >> /var/log/symlinklog
printf "e[37m${DATE}e[34m#------------------------- END OF SCRIPT -------------------------#n"

Samba staat het standaard niet toe om symlinks te volgen.
Pas de samba config aan om dit te laten werken:
vi /usr/syno/etc/smb.conf

Voeg de volgende waarden toe aan [Global]
       follow symlinks = yes
        wide symlinks = yes
        unix extensions = no

Samba herstarten en de Symlinks worden gevolgd:
/usr/syno/etc/rc.d/S80samba.sh restart

Dit script staat bij mij in:
/opt/home/series-symlink-script.sh


Ik heb het script opgenomen in mn crontab zodat deze elke dag om 12 uur draait:
vi /etc/crontab

Voeg toe aan crontab:
0       *       *       *       *       root    /opt/home/series-symlink-script.sh

Restart Cron:
/usr/syno/etc/rc.d/S04crond.sh stop
/usr/syno/etc/rc.d/S04crond.sh start

Meer info over hoe cron werkt kun je terug lezen op de site van Wizjos!

Thats it!

elke avond om 00:00 worden er Symlinks gemaakt van al mijn folders waar series in staan.

Ditzelfde script draait ook voor mn films.
If UNIX isn\'t the solution, you\'ve got the wrong problem...

Is RAID hetzelfde als een backup?

Heeft het antwoord van een gebruiker je geholpen met het oplossen van je probleem?
Geef hem/haar een bedankje door op de bedankt knop te drukken!


 

MariaDB10 moet niet luisteren naar poort 3307 maar naar poort 3306

Gestart door beste-elsBoard Maria DB

Reacties: 2
Gelezen: 3095
Laatste bericht 14 mei 2023, 18:42:26
door beste-els
Na migratie van ext4 naar btrfs

Gestart door palrobBoard Synology DSM 7.2

Reacties: 1
Gelezen: 874
Laatste bericht 19 augustus 2023, 22:33:55
door dirklammers
DS file > backup foto album mobiel naar Synology

Gestart door Leon85Board Android Apps

Reacties: 7
Gelezen: 2183
Laatste bericht 09 januari 2024, 23:38:10
door Matr1x
Hoe overstappen van DS213 naar DS224+

Gestart door MrKCBoard NAS hardware vragen

Reacties: 5
Gelezen: 1285
Laatste bericht 20 augustus 2024, 14:33:26
door Matr1x
Van DS412+ naar DS224+

Gestart door Ds_dannyBoard NAS hardware vragen

Reacties: 2
Gelezen: 263
Laatste bericht 12 december 2024, 09:43:57
door dirklammers