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


 

VERPLAATST: Exporteer Data via USB HD naar Synology Nas

Gestart door BirdyBoard Data replicator & overige backupsoftware

Reacties: 0
Gelezen: 743
Laatste bericht 10 december 2017, 21:57:59
door Birdy
bestanden automatisch kopieren van pc naar nas

Gestart door burdie123Board File Station

Reacties: 8
Gelezen: 4827
Laatste bericht 01 februari 2018, 22:57:55
door André PE1PQX
Backup van NAS naar externe NAS naar USB HDD

Gestart door ScoopBoard Data replicator & overige backupsoftware

Reacties: 0
Gelezen: 1203
Laatste bericht 26 maart 2018, 12:24:15
door Scoop
Van lightroom naar photo op Synology

Gestart door stanvdwBoard Photo Station / Photos

Reacties: 3
Gelezen: 3081
Laatste bericht 05 juni 2018, 08:58:24
door Briolet
Evernote notitieboeken exporteren naar Note station

Gestart door krekelBoard Note Station

Reacties: 0
Gelezen: 3085
Laatste bericht 06 september 2018, 18:07:25
door krekel