This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

 

Si nous utilisons des cookies et retenons des données anonymes, c’est pour nous aider à mieux gérer notre mesure d’audience, aider nos partenaires commerciaux à nous rémunérer et nos partenaires publicitaires à proposer des annonces qui vous correspondent.

 

Grâce à ces cookies, le forum est en mesure de savoir qui écrit un message et utile pour le système d'authentification.

 

En cliquant sur « J'accepte », vous acceptez l'utilisation par NAS-Forum de cookies publicitaires et de mesure d'audience fine.

gargaben

Membres
  • Compteur de contenus

    20
  • Inscription

  • Dernière visite

Fichiers posté(e)s par gargaben

  1. dsphoto_watchdog

    Salut,

    j'utilise sur mon NAS l'appli PHOTOSTATION qui est bien pratique pour partager des photos avec des amis via Internet, et ce sans avoir à mettre ces dernières sur des sites tiers.

    Seul "bémol" trouvé : lors de l'ajout de nouvelles photos, il faut que j'avertisse manuellement chacune des personnes ayant les droits d'accès sur les albums concernés pour qu'elles pensent à venir jeter un coup d'oeil.
    SYNOLOGY n'ayant pas décidé de palier ce manque, j'ai donc pris mon courage à deux mains pour faire un script qui remplisse cette fonction.

    Le script ici rendu accessible permet donc de notifier automatiquement par mail les utilisateurs de PHOTOSTATION de l'ajout de nouvelles photos dans les albums auxquels ils ont accès. Aucun fichier de configuration à remplir, le script s'occupe de récupérer automatiquement sur le NAS toutes les informations dont il a besoin pour fonctionner (adresses mails, droits d'accès, etc.).

    J'ai fait ci-dessous un copier/coller des commentaires du début du script qui expliquent comment l'installer, quelles sont les restrictions/limites et comment tout cela fonctionne.


    ================== INSTALLATION ET CONFIGURATION ====================
    Pour que ce script fonctionne, il faut que les conditions suivantes soient toutes respectées :
    1) Le script (qui est en realite composé de deux fichiers : dsphoto_watchdog.sh et mail.php) doit être de préférence installé dans un repertoire dédié
    2) Modifier les variables globales en début de script dans la section prévue a cet effet
    3) L'envoi de notifications par mail du NAS SYNOLOGY doit être activé et configuré (cela se fait dans DSM sous Panneau de configuration/Notification/Général/Courrier électronique.
    4) Le script doit être lancé en tant que root
    5) PHOTOSTATION doit être configuré pour fonctionner avec les comptes utilisateurs du DSM (donc pas avec des comptes propres a PHOTOSTATION)
    6) Les comptes utilisateurs DSM doivent avoir une adresse mail déclarée (cela se fait dans DSM sous Panneau de configuration/Utilisateur/<un utilisateur>/Courrier électronique)
    7) Une fois toutes ces conditions validées, il faut lancer une fois le script pour qu'il "se configure" (voir le paragraphe ci-dessous expliquant le fonctionnement du script pour comprendre pourquoi)
    Une fois tout cela fait, vous pouvez lancer le script manuellement à chaque fois que vous le désirez. Cependant, un meilleur usage de celui-ci est de programmer son lancement a des intervalles réguliers (par exemple une fois par jour). Pour ce faire, il suffit d'utiliser le planificateur de tâches du DSM (cela se fait sous Panneau de configuraton/Planificateur de tâches).Une fois dans le planificateur, il faut créer une nouvelle tâche que l'on fera pointer sur le script. Remarque importante : configurer cette tâche pour qu'elle soit exécutée avec l'utilisateur root (cela se fait dans le planificateur de tâches, sous Paramètres généraux/Utilisateur).
    9) Dernier conseil : le script donne des informations sur la sortie standard tout au long de son exécution (à des fins de DEBUG notamment). Si vous utilisez le planificateur de tâches, je ne saurais que trop vous conseiller de rediriger la sortie standard du script vers les logs systèmes. Pour ce faire, mettre à la fin de votre ligne de commande (dans le planificateur de tâches) les commandes additionnelles suivantes (hors crochets évidemment) [>> /var/log/messages 2>&1]
    ===================== REMARQUES IMPORTANTES ===========================
    1) Comme indiqué ci-dessus, le script est prévu pour fonctionner uniquement si PHOTOSTATION utilise les comptes utilisateurs de DSM. Si PHOTOSTATION utilise des comptes propres a lui, le script ne fonctionnera pas
    2) Le script fonctionne si vous avez des noms de dossiers ou des noms de photos avec des espaces
    3) Si vos noms de dossiers ou de photos comportent des accents ou autres caractères "improbables" (par exemple des apostrophes), le script aura au mieux un comportement instable, au pire il ne fonctionnera pas (a éviter donc!)
    4) Le script n'a pas été testé avec le service "Photo Station Personnel". Il est donc possible qu'il ne fonctionne pas ou ait un comportement instable si vous utilisez cette option
    5) Le script ne surveille pas les photos directement enregistrées dans le répertoire racine de vos photos (typiquemet /volume1/photo). Il faut impérativement que vous photos soient dans des répertoires contenus dans le repertoire racine des photos.
    6) Le script, dés son premier lancement, va créer un fichier s'appelle dsphoto_watchdog.log. Il est impératif de ne surtout pas tenter de le modifier ou de le supprimer. Faute de quoi, le script ne fonctionnera pas ou n'aura pas le fonctionnement voulu (voir le paragraphe ci-dessous expliquant le fonctionnement du script pour comprendre pourquoi)

    ===================== FONCTIONNEMENT DU SCRIPT ===========================
    Le script va comparer la date de chacune des photos contenues dans les albums de votre dossier photo avec la date de sa dernière exécution. Si la date des photos est plus récente que celle de la dernière exécution, un mail est envoyé aux utilisateurs qui ont les droits d'accès à l'album concerné.

    Le mail contiendra les informations suivantes :
    - le nom des albums contenant des nouvelles photos
    - le nombre de photos ajoutées dans chacun de ces albums
    - un rappel du l'URL permettant d'accéder a votre PHOTOSTATION (optionnel)
    - votre signature (optionnel)

    Une fois le script installé, il faut le lancer une premiere fois de façon à ce qu'il retienne une première date d'exécution. Celle-ci sera sauvegardée dans un fichier nommé "dsphoto_watchdog.log". A chaque exécution suivante, le script prendra comme date de référence celle contenue dans ce fichier "dsphoto_watchdog.log". Une fois la recherche de nouvelles photos terminée, le script s'achèvera par la mise a jour de ce fichier "dsphoto_watchdog.log" en remplaçant la date contenue par celle de cette nouvelle exécution du script.

    29 téléchargements

    Mis à jour

  2. NAS automount

    Script permettant le montage automatique de volumes au démarrage d'une session sous mac

    J’ai passé pas mal de temps à essayer de résoudre ce problème de montage automatique des volumes. La solution que j’ai adoptée passe par le recours à un applescript.

    J’avais une contrainte majeure supplémentaire : en plus de ne pas vouloir voir apparaître les volumes montés sur le bureau et les fenêtres afférentes, l’accès à mes volumes sur mon NAS nécessitait un couple login/mot de passe pour fonctionner (nous sommes plusieurs à partager le NAS sur mon réseau, et chacun accède à ses dossiers via son compte utilisateur et un mot de passe qui lui est propre). Le problème des lignes fournies par Atlantic.mac est que votre script contiendra, en clair, les mots de passe nécessaires pour effectuer le montage AFP. N’étant pas satisfait de cette solution (c’est pas très « propre » en terme de sécurité), j’ai trouvé une alternative par recours au trousseau d’accès. Il en résulte un script un peu plus « musclé », mais qui fonctionne de manière totalement transparente pour l’utilisateur tout en étant plus « safe ».

    Au fur et à mesure que j’ai codé ce script, j’ai rajouté quelques « features » qui m’arrangeaient, au regard de ma configuration et de mes besoins.

    Je vous donne l’intégralité du script.

    Afin d’éclairer ceux que ça intéresserait, voilà quelques éléments de compréhension supplémentaires :
    - Mon NAS fait parti d’un réseau local et a pour adresse IP 192.168.0.1
    - Le script vérifie la présence du NAS sur le réseau local avant de tenter de faire les montages AFP. Pour cela, il recherche la présence de cette adresse IP sur le réseau via un ping (IMPORTANT : il faut que les accès ICMP du NAS soient ouverts aux ordinateurs sur lesquels le script doit tourner si vous utilisez le firewall du NAS).
    - Certains postes qui se connectent au NAS sont des portables. Le script étant exécuté à chaque démarrage de l’ordinateur, je ne voulais pas qu’il tente des commandes AFP sur une machine ayant une adresse IP égale à celle de NAS lorsque l’ordinateur portable est connecté à un réseau local autre que le mien (ce qui est courant avec une adresse IP en 192.168). J’ai donc rajouté un test vérifiant que l’adresse MAC de la machine se trouvant derrière l’adresse 192.168.0.1 est bien celle de mon NAS (j’ai donc saisi « en dur » dans mon script l’adresse MAC du NAS)
    - Je peux me connecter à mon NAS via un VPN. Le script tente donc tout d’abord de se connecter au NAS via son adresse en 192.168, puis à l’adresse VPN du NAS (10.8.0.1)
    - Les dossiers du NAS son tous montés dans le répertoire «~/DiskStation » de l’ordinateur sur lequel le script est exécuté
    - Pour la gestion des mots de passe, il faut aller dans le trousseau d’accès, et créer à la main un nouveau mot de passe. Cette nouvelle entrée du trousseau doit impérativement s’appeler « NAS.automount». Dans cette nouvelle entrée (ou clé), il faut entrer le nom du compte du NAS avec lequel vous souhaitez monter vos dossiers réseaux, ainsi que son mot de passe. A la première exécution du script, votre mac va vous demander si vous autorisez le script à accéder à cette clé. Cliquez sur "Toujours autorisez".
    Si vous utilisez le mac sur lequel vous faites tourner le script via plusieurs comptes, il faudra répéter cette opération pour chacun des comptes.
    - Enfin, j’ai rajouté un affichage afin de savoir si le script s’exécutait bien. Pour cela, je me suis appuyé sur le notification center de MAC OSX (les messages du script apparaissent dedans). Pour que cela fonctionne, il faut installer l’utilitaire shell « terminal-notifier » dans le dossier Applications de votre mac (utilitaire gratuit trouvable facilement sur Internet). Remarque complémentaire : cette option d’affichage limite la compatibilité de cet applescript à MAC OS 10.8 ou ultérieur (puisque le notification center n’existait pas avant). Si vous enlevez les lignes d’affichage, le script devrait fonctionner sur MAC OS 10.6 et 10.7.
    - Pour que le script soit exécuté à chaque ouverture de session, je l’ai enregistré en tant qu’exécutable et l’ai déclaré dans la liste d’ouverture, située dans les préférences système, utilisateurs et groupes.

    Voilà, je pense qu’entre ces explications et les commentaires du code, les utilisateurs un peu aguerris devraient s’en sortir. Pour les plus néophytes, j’imagine que ça sera peut-être un peu plus rugueux ;-)

    N’hésitez pas si vous avez des questions ou des remarques !

    286 téléchargements

    Mis à jour