Auteur Topic: [HANDLEIDING] Snelkoppeling/Symlink naar meerdere shares  (gelezen 3337 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!


 

Upload naar filestation via GSM?

Gestart door VodlawBoard File Station

Reacties: 6
Gelezen: 3058
Laatste bericht 28 juni 2010, 21:15:07
door Vodlaw
Synology 207+ streamen naar Popcorn C-200

Gestart door Wim StruijsBoard Media Server (UPNP/DLNA)

Reacties: 1
Gelezen: 2086
Laatste bericht 07 november 2010, 20:39:20
door DJ_jovel
Van DS213j naar DS218

Gestart door 6in-lineBoard NAS hardware vragen

Reacties: 12
Gelezen: 1859
Laatste bericht 19 januari 2019, 10:55:12
door 6in-line
Van een RT1900 naar een nieuwe RT2600 + MR2200 MESH setup 1 blok ellende...

Gestart door B3rtBoard Synology Router

Reacties: 12
Gelezen: 3199
Laatste bericht 01 januari 2020, 12:04:05
door aliazzz
foto's smartphone naar nas

Gestart door jantje38Board Cloud Station & Drive

Reacties: 9
Gelezen: 2354
Laatste bericht 21 juli 2019, 19:49:41
door Briolet