Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/09/2018, à 11:13

Anard

Notifications depuis sudo crontab

Bonjour,

J'ai créé un petit script de sauvegarde placé dans /usr/bin/ qui fonctionne très bien et qui utilise l'écran à plusieurs reprises :

  • Si une sauvegarde du même nom existe déjà, il demande un nouveau nom via zenity

  • En cas de succès, une notification est affichée par notify-send

Ce script est lancé depuis le crontab root (sudo crontab -e) de manière régulière afin qu'il soit lancé quelque soit l'utilisateur actuel et parce que certains des fichiers nécessitent des droits root pour être copiés.

Malheureusement, quand le script est lancé depuis le crontab root, la partie graphique ne fonctionne pas (notify-send et zenity).
Concernant zenity, ce n'est pas très grave puisqu'il n'est utilisé que si une sauvegarde a déjà été faite le même jour dans le même dossier (ce qui ne devrait pas arriver via le crontab, lancé une fois par semaine).
Par contre, j'aurais bien aimé que la notification de sauvegarde réussie apparaisse dans la barre des notifications de l'utilisateur courant.

Voici mon crontab root :

@weekly DISPLAY=:0 saveBDD

PS : Je ne connais pas encore bien le fonctionnement de crontab. J'ai cru comprendre que "@weekly" revient à lui demander d'exécuter le script toutes les dimanches à minuit.
Que se passera-t-il si l'ordinateur est éteint à ce moment ? Est-ce que le script sera tout de même éxecuté au démarrage suivant ? (C'est le comportement que je recherche...)

Merci à vous

Dernière modification par Anard (Le 10/09/2018, à 11:18)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go DDR3, Intel HD4600, SSD 256+120 / Bootloader Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP Pavilion DV3500, Intel T6400, 4Go, HDD 500Go / Grub2 - Gentoo-Xfce

Hors ligne

#2 Le 10/09/2018, à 12:29

bruno

Re : Notifications depuis sudo crontab

Hors ligne

#3 Le 10/09/2018, à 13:19

Postmortem

Re : Notifications depuis sudo crontab

Salut,
Pour envoyer un message "notify-send" à tous les users connectés :

#!/bin/bash

while read user DISPLAY
do
    DBUS_ADDRESS=unix:path=/run/user/$(id -u $user)/bus
    sudo -u $user DISPLAY=${DISPLAY} \
        DBUS_SESSION_BUS_ADDRESS=${DBUS_ADDRESS} \
        notify-send TITRE "BLA BLA BLA"
done < <(who | awk '/\(:[0-9](\.[0-9])*\)$/ { gsub(/[()]/, "", $NF); print $1, $NF }')

Trouvé ici : https://unix.stackexchange.com/question … x-displays

Dernière modification par Postmortem (Le 10/09/2018, à 13:22)


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#4 Le 10/09/2018, à 14:06

uboops

Re : Notifications depuis sudo crontab

Anard a écrit :

...PS : Je ne connais pas encore bien le fonctionnement de crontab. J'ai cru comprendre que ...

.... En graphique il y a :
gnome-schedule


“Au lieu de faire que ce qui fût juste fût fort, on a fait que ce qui fût fort fût juste.” (Blaise Pascal).

Hors ligne

#5 Le 10/09/2018, à 16:31

Anard

Re : Notifications depuis sudo crontab

Merci beaucoup, la solution de PostMortem fonctionne très bien.
En tout cas avec crontab.
J'ai essayé aussi avec anacron en tapant

anacron -f -d

pour pouvoir suivre son travail et ça a l'air de fonctionner également wink

Mais il est plus difficile à tester en temps réel que cron tout court, je verrai si ça se fera toujours aussi bien par lui-même dans 4 jours roll

Dernière modification par Anard (Le 10/09/2018, à 16:31)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go DDR3, Intel HD4600, SSD 256+120 / Bootloader Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP Pavilion DV3500, Intel T6400, 4Go, HDD 500Go / Grub2 - Gentoo-Xfce

Hors ligne