Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1 #!/bin/bash
- 2
- 3 # creation des liens symboliques DFS dans les différents DFS root
- 4
- 5 #fonction permettant de créer le lien symbolique DFS avec pour parametre la cible a lier et l'emplacement du lien (ex: lienDFS partage1 /home/Partages/zo ne/Partage)
- 6 lien_DFS(){
- 7 cible=$(echo msdfs:172.18.60.9\\"$1")
- 8 dest="$2"
- 9 ln -s "$cible" "$dest"
- 10 echo "ln -s $cible $dest"
- 11 }
- 12
- 13
- 14 temps=`date '+%s'` #temps en seconde depuis 00:00:00 1 janv 1970
- 15 temps_cron=900 #temps de refresh du cron
- 16 temps_smbconf=`date -r /etc/samba/smb.conf '+%s'` #temps de modification de smb.conf
- 17 temps_users=`date -r /home/Utilisateurs '+%s'` #temps de modification du dossier Utilisateurs
- 18 temps_shares=`date -r /home/Partages '+%s'` #temps de modification du dossier Partages
- 19 temps_enseignes=`date -r /home/Partages/Enseignes '+%s'` #temps de modification du dossier Partages/Enseignes
- 20 temps_zone=`date -r /home/Partages/Zone '+%s'` #temps de modification du dossier Partages/zone
- 21 let temps_m1h=temps-temps_cron #temps de référence
- 22
- 23 #test permettant de décider des liens doivent être ajoutés
- 24 if test "$temps" -ge "$temps_smbconf" -a "$temps_smbconf" -ge "$temps_m1h"
- 25 then
- 26 if test "$temps" -ge "$temps_users" -a "$temps_users" -ge "$temps_m1h"
- 27 then
- 28 #recherche des liens vers les dossiers ajoutés/supprimés
- 29 ls /home/Utilisateurs >> /tmp/users
- 30 ls /home/Sauvegarde >> /tmp/svg
- 31 diff -dBi /tmp/svg /tmp/users | grep "<\|>" | while read ligne
- 32 do
- 33 car=$(echo $ligne | cut -d" " -f1)
- 34 partage=$(echo $ligne | cut -d" " -f2)
- 35 # test permettant de déterminer s'il faut ajouter ou supprimer le lien
- 36 if test "$partage" != "admin"
- 37 then
- 38 if test "$car" = ">"
- 39 then
- 40 lien_DFS "$partage" "/home/Sauvegarde/$partage"
- 41 else
- 42 rm "/home/Sauvegarde/$partage"
- 43 fi
- 44 fi
- 45 done
- 46 rm /tmp/users /tmp/svg
- 47 fi
- 48
- 49 if test "$temps" -ge "$temps_enseignes" -a "$temps_enseignes" -ge "$temps_m1h"
- 50 then
- 51 #recherche des liens vers les dossiers ajoutés/supprimés
- 52 ls /home/Partages/Enseignes >> /tmp/share_ens_tmp
- 53 cat /tmp/share_ens_tmp | while read line
- 54 do
- 55 #permet de récupérer les noms de partages qui peuvent être différents du nom du dossiers
- 56 share_name=$(testparm -s 2>/dev/null | grep "path = /home/Partages/Enseignes/$line" -B 6 | grep "\[" | sed "s/\[\|\]//g")
- 57 echo $share_name >> /tmp/share_ens
- 58 done
- 59 ls /home/Enseignes >> /tmp/syml_ens
- 60 diff -dBi /tmp/syml_ens /tmp/share_ens | grep "<\|>" | while read ligne
- 61 do
- 62 car=$(echo $ligne | cut -d" " -f1)
- 63 partage=$(echo $ligne | sed "s/< \|> //g")
- 64 # test permettant de déterminer s'il faut ajouter ou supprimer le lien
- 65 if test "$car" = ">"
- 66 then
- 67 lien_DFS "$partage" "/home/Enseignes/$partage"
- 68 else
- 69 rm "/home/Enseignes/$partage"
- 70 fi
- 71 done
- 72 rm /tmp/share_ens /tmp/syml_ens /tmp/share_ens_tmp
- 73 fi
- 74
- 75 if test "$temps" -ge "$temps_zone" -a "$temps_zone" -ge "$temps_m1h"
- 76 then
- 77 #recherche des liens vers les dossiers ajoutés/supprimés
- 78 ls /home/Partages/Zone >> /tmp/share_zone_tmp
- 79 cat /tmp/share_zone_tmp | while read line
- 80 do
- 81 #permet de récupérer les noms de partages qui peuvent être différents du nom du dossiers
- 82 share_name=$(testparm -s 2>/dev/null | grep "path = /home/Partages/Zone/$line" -B 6 | grep "\[" | sed "s/\[\|\]//g")
- 83 echo $share_name >> /tmp/share_zone
- 84 done
- 85 ls /home/Zone >> /tmp/syml_zone
- 86 diff -dBi /tmp/syml_zone /tmp/share_zone | grep "<\|>" | while read ligne
- 87 do
- 88 car=$(echo $ligne | cut -d" " -f1)
- 89 partage=$(echo $ligne | sed "s/< \|> //g")
- 90 # test permettant de déterminer s'il faut ajouter ou supprimer le lien
- 91 if test "$car" = ">"
- 92 then
- 93 lien_DFS "$partage" "/home/Zone/$partage"
- 94 else
- 95 rm "/home/Zone/$partage"
- 96 fi
- 97 done
- 98 rm /tmp/share_zone /tmp/syml_zone /tmp/share_zone_tmp
- 99 fi
- 100 fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement