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 16/12/2020, à 10:08

herveD

notification ubuntu si problème synchronisation (résolu)

Bonjour,
Je fais des synchronisations entre plusieurs disques.
Je souhaite plutôt avoir une notification dans le panneau haut d'ubuntu mais si possible 1 seule fois car je peux faire des synchronisations chaque heure et il se peut qu'un disque soit parti dans un autre lieu

Suite à une aide précédente, j'ai abouti avec le fichier sh correspondant ou il manque si c'est possible la notification si le disque manque ou si problème de synchronisation sur un fichier (je ne sais d'ailleurs pas comment simuler s'il ya une erreur car si je fais un crontab entant que sudo, le fait qu'un fichier soit ouvert ne génère plus d'erreur)

#!/bin/bash
exec >/home/rvnux/Documents/log_$(date +\%Y-\%M-\%H) 2>&1
heure=$(date +\%H:\%M)
jour=$(date +\%Y-\%m-\%d)


if [[ ! -e "/media/rvnux/4958-6F89/cible/" ]]
then
  echo "Le dossier /media/rvnux/4958-6F89/cible/ n'existe pas"
  exit 1
fi

echo "début synchro:" $jour $heure 
rsync -agv -u --exclude /.Trash-1000/ --delete-after /media/rvnux/4958-6F89/source/ /media/rvnux/4958-6F89/cible/  
echo "fin synchro:" $jour $heure 

retour_rsync=$?

if (( $ret_rsync ))
then
  echo "rsync à renvoyer le code $retour_rsync ! notification"
  # notification ubuntu , si possible 1 seule fois par jour !! non fait
  exit 1
else
  
  echo "rsync a fini correctement son travail" 
  exit 0
fi

Dernière modification par herveD (Le 22/12/2020, à 17:27)


Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/

Hors ligne

#2 Le 16/12/2020, à 14:05

Compte supprimé

Re : notification ubuntu si problème synchronisation (résolu)

Bonjour,
Pour afficher une notification depuis un script root:

sudo -u nom_user  DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "Alerte"

1000 correspond à mon UID . Pour le connaitre (fab est mon user)

id fab
uid=1000(fab) gid=1000(fab) groupes=1000(fab),4(adm),20(dialout),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),129(vboxusers)

...

#3 Le 16/12/2020, à 14:18

herveD

Re : notification ubuntu si problème synchronisation (résolu)

Bonjour
super cela fonctionne
Reste si qq peut m'aider pour limiter
- une seule notification par jour car je peux faire synchro/h et si le dd n'est pas là roll
- effacer le contenu ou supprimer le log une fois par semaine (car au bout de qq jours, il faisait des mo inutile)

voir comment tester une erreur de syncrho de fichier en étant que root (si c'est possible ?)

#!/bin/bash
exec >/home/rvnux/Documents/log_syncrho1 2>&1
heure=$(date +\%H:\%M)
jour=$(date +\%Y-\%m-\%d)


if [[ ! -e "/media/rvnux/4958-6F89/cible/" ]]
then
//  echo "Le dossier /media/rvnux/4958-6F89/cible/ n'existe pas"
DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "Synchro xxx/heure; Le dossier /media/rvnux/4958-6F89/cible/ n'existe pas"
  exit 1
fi

echo "début synchro:" $jour $heure 
rsync -agv -u --exclude /.Trash-1000/ --delete-after /media/rvnux/4958-6F89/source/ /media/rvnux/4958-6F89/cible/  
echo "fin synchro:" $jour $heure 

retour_rsync=$?

if (( $ret_rsync ))
then
  echo "rsync à renvoyer le code $retour_rsync ! notification"
  # notification ubuntu , si possible 1 seule fois par jour !! non fait
  exit 1
else
  
  echo "rsync a fini correctement son travail" 
  exit 0
fi

Dernière modification par herveD (Le 16/12/2020, à 14:20)


Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/

Hors ligne

#4 Le 16/12/2020, à 14:44

Compte supprimé

Re : notification ubuntu si problème synchronisation (résolu)

herveD a écrit :

une seule notification par jour

[ -e /tmp/fait ] || sudo -u fab DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "Alerte"
touch /tmp/fait

??
... à adapter

#5 Le 16/12/2020, à 14:53

Compte supprimé

Re : notification ubuntu si problème synchronisation (résolu)

- effacer le contenu ou supprimer le log une fois par semaine (

Sur un autre post:

moko138 a écrit :

j'indique une façon de contenir le volume de /var/log dans les limites fixées par toi, dans ce message : https://forum.ubuntu-fr.org/viewtopic.p … #p22191055

#6 Le 16/12/2020, à 14:54

herveD

Re : notification ubuntu si problème synchronisation (résolu)

ah j'ai essayé comme précédemment de le mettre dans le terminal et cela a pas fonctionné.
Néanmoins  je n'ai pas bien compris /tmp/fait est un sorte de trou noir ? et surtout  quand est réinitialisé cette commande ? car je voudrai afficher la notif 1 seule fois/jour dans le script!

?? bon après le reste
* effacer le contenu ou supprimer le log une fois par semaine (car au bout de qq jours, il faisait des mo inutile)
* voir comment tester une erreur de synchro de fichier en étant que root (si c'est possible ?)
n'est pas lié à ce sujet


Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/

Hors ligne

#7 Le 16/12/2020, à 15:05

Compte supprimé

Re : notification ubuntu si problème synchronisation (résolu)

/tmp est un répertoire de fichier temporaires( utilisé et vidé à la fermeture d'ubuntu)...


[ -e /tmp/fait ]

teste si le fichier /tmp/fait existe

|| commande

si il n'existe pas alors execute commande.

touch /tmp/fait

crée le fichier /tmp/fait

Pour les logs , regarde le message #4
Pour tester les erreur de synchro, je laisse une autre personne y répondre ...

Dernière modification par Compte supprimé (Le 16/12/2020, à 15:10)

#8 Le 16/12/2020, à 16:58

herveD

Re : notification ubuntu si problème synchronisation (résolu)

re
merci pour ces précisions mais du coup il faut que je réfléchisse car j’éteins 3 ou 4 fois par mois Ubuntu
S'il y a une autre solution basé sur un nbr de jour (différence de date) de toute façon utile pour effacer les logs toutes les x jours, je préférerai sinon ok


Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/

Hors ligne

#9 Le 18/12/2020, à 02:39

kamaris

Re : notification ubuntu si problème synchronisation (résolu)

Dans ton code en #1, la variable retour_rsync ne contient pas le code retour de rsync, mais celui de echo (dernière commande exécutée).
C'est une des raisons pour lesquelles il vaut beaucoup mieux tester directement les retours de commande :

if rsync -agv -u --exclude /.Trash-1000/ --delete-after /media/rvnux/4958-6F89/source/ /media/rvnux/4958-6F89/cible/; then
  …
fi

Quant à l'affichage des début et fin de synchro, le faire autrement (inclus dans rsync ?), ou ailleurs, mais de toutes façons ici, les date et heure de début et fin sont les mêmes…

Dernière modification par kamaris (Le 18/12/2020, à 02:41)

Hors ligne

#10 Le 18/12/2020, à 12:39

herveD

Re : notification ubuntu si problème synchronisation (résolu)

Bonjour

Voici ou j'en suis. je sais cela ne fonctionne pas roll et pourtant j'ai fais pas mal d'essai

#!/bin/bash
exec >/home/rvnux/Documents/log_test 2>&1
heure=$(date +\%H:\%M)
jour=$(date +\%Y-\%m-\%d)

if [[ ! -e "/media/rvnux/4958-6F89/cible/" ]] 
# and $heure<"9h:00" POUR NOTIFICATION 1FOIS/JOUR , NE FONCTIONNE PAS !
then
DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "Synchro xxx/heure; Le dossier /media/rvnux/4958-6F89/cible/ n'existe pas"
  exit 1
fi

echo "début synchro:" $jour $heure 
rsync -agv -u --exclude /.Trash-1000/ --delete-after /media/rvnux/4958-6F89/source/ /media/rvnux/4958-6F89/cible/  
echo "fin synchro:" $jour $heure 
retour_rsync=$?

if (( $ret_rsync ))
then
  echo "rsync à renvoyer le code $retour_rsync ! notification"
  # EST-CE QUE CELA STOCKE BIEN DANS LES LOGS (car pour l'instant pas simuler dans les logs??
  exit 1
else  
  echo "rsync a fini correctement son travail" 
  exit 0
fi

# COMMENT SUPPRIMER LE FICHIER (ou limiter) SI DEPASSE UE TAILLE

Préambule: je débute vraiment avec des notions généralistes. Merci de votre indulgence
J'ai donc mis dans le code en majuscule mes questions directes

@pseudofab: ah je n'avais pas vu #5 car on écrivant en même temps!
pas sûr que cela s'applique pour moi car j'ai mis le log ailleurs et je n'ai pas compris s c'est taille totale de tout les fichiers  mais effectivement limiter ou supprimer le fichier quand il dépasse une taille serait probablement une bonne solution (ou alors il faut écrire une date à la création du fichier au début du log et ensuite la tester pour qu'elle soit inférieure à 1 semaine par exemple). Mais bien sûr la solution la plus simple est la meilleure smile

@kamaris
Je ne suis pas arrivé à inséré ton code. Je veux bien croire que l'écho*  pose pb mais si possible (car le moins important) comment faire pour insérer date début et date de fin. dans mon test c'est identique car j'aimerai évaluer la durée sur une synchronisation entre disque 250go et grand nbr de fichier
* si j'enlève exec >/home/rvnux/Documents/log_test 2>&1, tout va en ligne de commande ?

Dernière modification par herveD (Le 18/12/2020, à 12:42)


Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/

Hors ligne

#11 Le 18/12/2020, à 13:29

beuguissime

Re : notification ubuntu si problème synchronisation (résolu)

La valeur de $? donne le statut de sortie de la commande qui précède. Si tu intercales une autre commande entre rsync et $?, tu perds l'info sur le succès ou l'échec du rsync. C'est ce que kamaris te signale.

Donc si tu veux garder à peu près la structure de ton code, décale simplement la ligne

retour_rsync=$?

pour la mettre juste après le rsync.

Ensuite tes echo impriment deux fois la même chose. Les variables $jour et $heure sont définies en début de script et ne se mettent pas magiquement à jour en cours de route. Utilise time pour mesurer la durée d'exécution du rsync

time rsync machin truc

ou alors sauvegarde un horodatage en seconde avant/après le rsync si tu veux “faire des maths” ou autre plus loin dans ton code avec le moment de début et de fin.

debut_rsync=$(date +%s)
rsync machin truc
fin_rsync=$(date +%s)

Si tu n'es pas en train de le faire, je t'invite à lire de la doc sur le shell et les manuels des commandes. Ça t'éviteras de trop tâtonner.

Hors ligne

#12 Le 18/12/2020, à 18:01

herveD

Re : notification ubuntu si problème synchronisation (résolu)

Bon je tourne en rond
J'ai bien regardé des tutos dont https://openclassrooms.com/fr/courses/4 … =published ou https://abs.traduc.org/abs-5.0-fr/index.html  mais vite perdu
J'abandonne l'idée de limiter ou supprimer le log au bout d'un temps en me consacrant au minimum sur affichage d'une notification ubuntu 1 fois par lancement d'ordi (idéal /jour) si pas disque cible et stockage d'erreur dans un fichier log
J'ai mis en majuscule ce qui ne fonctionne pas ou ma question sur les erreurs

#!/bin/bash
exec >/home/rvnux/Documents/log_test 2>&1

# NE FONCTIONNE PAS, si la cible n'existe pas, cela la crée hors, je voudrai
# Affiche 1 notification une seule fois si la cible n'existe jusqu’au prochain lancement d'ubuntu 
[ -e /tmp/fait ] || DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "Synchro xxx/heure; Le dossier /media/rvnux/4958-6F89/cible/ n'existe pas"
touch /tmp/fait

# time donne la durée de la syncho qui se fait en excluant le dossier: "trash-1000"
time rsync -agv -u --exclude /.Trash-1000/ --delete-after /media/rvnux/4958-6F89/source/ /media/rvnux/4958-6F89/cible/  
retour_rsync=$?

if (( $ret_rsync )) #Si erreur dans syncrhonisation
then
  echo "rsync à renvoyer le code $retour_rsync ! notification"
  # EST-CE QUE CELA STOCKE BIEN DANS LES LOGS (car pour l'instant je ne sais pas simuler erreur de synchro dans les logs??
  exit 1
else  
  echo "rsync a fini correctement son travail" 
  exit 0
fi

Dernière modification par herveD (Le 18/12/2020, à 18:04)


Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/

Hors ligne

#13 Le 18/12/2020, à 22:44

beuguissime

Re : notification ubuntu si problème synchronisation (résolu)

herveD a écrit :

Bon je tourne en rond

Dis-moi si je fais fausse route mais il me semblait que tu avais réglé dans un autre fil (!) la question de l'existence ou pas de la cible recevant la sauvegarde. Je vois dans le script posté au dernier message que ce test a disparu. Donc si tu enlèves les bouts qui marchent forcément tu tournes en rond.

D'ailleurs, je te l'ai déjà dit mais c'est très dur de te suivre ! In fine, tu veux écrire un script pour gérer tes sauvegardes avec différentes vérifications et des fonctions de surveillance. Soit. C'est très bien. Le problème est que tu disperses tes questions, qui ne sont pas forcément toujours claires, dans différents fils. Les intervenant/es n'en ont pas forcément connaissance et celles et ceux qui veulent suivre doivent partir à la pêche aux discussions. On découvre tes besoins au fur et à mesure alors qu'avoir une vue d'ensemble dès le départ peut orienter les choix. Tu ne réponds pas toujours aux questions. Tout ça me semble contre-productif. Surtout ne prends pas mal ces propos, c'est vraiment pour gagner en efficacité. J'essaye de t'aider dans la limite de mes connaissances.

abs.traduc.org n'est pas un “tuto”. C'est de la doc. Je sais que c'est chiant mais il n'y a pas de secrets : il faut potasser la doc tranquillement et y réfléchir puis pratiquer. C'est pas pour rien qu'on parle de langage de programmation : mêmes mécanismes d'apprentissage qu'une langue humaine.

Une question à propos de la notification : pourquoi ce besoin ? C'est un affichage transitoire : si tu n'as pas les yeux sur l'écran au bon moment, tu la loupes et n'as donc pas l'information. Toi en plus, tu veux une seule notif par jour.

Pour savoir si la cible existe, il faut un test de ce genre

if [[ ! -e "/media/rvnux/4958-6F89/cible/" ]]
then
   # on entre dans le “if” dans le cas où la cible n'existe pas
   # si la cible existe, on traverse le “if” sans rien faire
   echo "Pas là! On fait rien du tout!"
   exit 1
fi

 

Hors ligne

#14 Le 19/12/2020, à 11:54

herveD

Re : notification ubuntu si problème synchronisation (résolu)

Bonjour

beuguissime a écrit :

Dis-moi si je fais fausse route mais il me semblait que tu avais réglé dans un autre fil (!) la question de l'existence ou pas de la cible recevant la sauvegarde. Je vois dans le script posté au dernier message que ce test a disparu. Donc si tu enlèves les bouts qui marchent forcément tu tournes en rond.

Et oui tu as raison , j'ai enlevé ce code car j'ai fais plusieurs test avec le if qui ne fonctionnait pas et la fatigue après des heures sad

beuguissime a écrit :

D'ailleurs, je te l'ai déjà dit mais c'est très dur de te suivre ! In fine, tu veux écrire un script pour gérer tes sauvegardes avec différentes vérifications et des fonctions de surveillance. Soit. C'est très bien. Le problème est que tu disperses tes questions, qui ne sont pas forcément toujours claires, dans différents fils. Les intervenant/es n'en ont pas forcément connaissance et celles et ceux qui veulent suivre doivent partir à la pêche aux discussions. On découvre tes besoins au fur et à mesure alors qu'avoir une vue d'ensemble dès le départ peut orienter les choix. Tu ne réponds pas toujours aux questions. Tout ça me semble contre-productif. Surtout ne prends pas mal ces propos, c'est vraiment pour gagner en efficacité. J'essaye de t'aider dans la limite de mes connaissances.

Je ne prends pas mal tes propos et je comprends que c'est plus difficile pour toi de suivre. Néanmoins je pense que nous avons seulement une méthode différente. C'est comme ceux qui veulent ouvrir un lien dans le même onglet (ou le contraire) mais surtout les boucles mails !! Au bout de quelques messages plus rien n'a a voir avec le sujet et c'est là ou je m'y perds totalement. Perso pour essayer dans ce contexte sur d'autres fils de ce forum, j'ai aussi beaucoup de mal.
J'essaie le plus possible de coller au sujet car je constate que celà perturbe aussi des contributeurs quand j'évolue (et c'est logique avec les échanges )
Mais je t'assure que j'essaie de prendre le plus possible en compte ta remarque

beuguissime a écrit :

Une question à propos de la notification : pourquoi ce besoin ? C'est un affichage transitoire : si tu n'as pas les yeux sur l'écran au bon moment, tu la loupes et n'as donc pas l'information. Toi en plus, tu veux une seule notif par jour.

Tu as parfaitement raison. En fait comme tu es je pense la personne qui m'a suivi a travers des fils ces dernières semaines, tu as du t'apercevoir les embûches qui ont été dépassées (et merci à toit et tout les autres car sinon je n'aurai jamais pu aller aussi loin) pour finalement résoudre les 2 principaux problèmes
* si le disque cible n'était pas là, je remplissais le disque système
* sur des grandes quantités de fichiers, je me trouvais avec des gros fichiers logs

J'ai lancé le fichier sh dans son répertoire définitif

  
39 11 * * * "/media/rvnux/donnees/Com. informat./Communs Ubuntu/scripts/test-synchro-msg.sh"

avec le contenu suivant

#!/bin/bash
exec >/home/rvnux/Documents/log_test 2>&1

if [[ ! -e "/media/rvnux/4958-6F89/cible/" ]] # Affiche 1 notification une seule fois si la cible n'existe jusqu'au prochain lancement d'ubuntu (idéal jour)
then
[ -e /tmp/fait ] || DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "Synchro xxx/heure; Le dossier /media/rvnux/4958-6F89/cible/ n'existe pas"
touch /tmp/fait
   echo "Pas là! On fait rien du tout!"
   exit 1
fi

# time donne la durée de la syncho qui se fait en excluant le dossier: "trash-1000"
time rsync -agv -u --exclude /.Trash-1000/ --delete-after /media/rvnux/4958-6F89/source/ /media/rvnux/4958-6F89/cible/  
retour_rsync=$?

if (( $ret_rsync )) #Si erreur dans syncrhonisation
then
  echo "rsync à renvoyer le code $retour_rsync ! notification"
  # EST-CE QUE CELA STOCKE BIEN DANS LES LOGS (car pour l'instant je ne sais pas simuler erreur de synchro dans les logs??
  exit 1
else  
  echo "rsync a fini correctement son travail" 
  exit 0
fi

Dernière modification par herveD (Le 19/12/2020, à 14:51)


Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/

Hors ligne

#15 Le 19/12/2020, à 13:15

Compte supprimé

Re : notification ubuntu si problème synchronisation (résolu)

moi a écrit :

[ -e /tmp/fait ] || sudo -u fab DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "Alerte"
touch /tmp/fait

??
... à adapter

Cependant, tu réponds:

herveD a écrit :

re
merci pour ces précisions mais du coup il faut que je réfléchisse car j’éteins 3 ou 4 fois par mois Ubuntu

Ce qui rend ma proposition caduque car elle ne peut pas fonctionner si le pc n'est pas éteint chaque jours .
Il va falloir imaginer une autre approche...

Dernière modification par Compte supprimé (Le 19/12/2020, à 13:30)

#16 Le 19/12/2020, à 14:10

herveD

Re : notification ubuntu si problème synchronisation (résolu)

pseudofab a écrit :
moi a écrit :

[ -e /tmp/fait ] || sudo -u fab DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "Alerte"
touch /tmp/fait

??
... à adapter

Cependant, tu réponds:

herveD a écrit :

re
merci pour ces précisions mais du coup il faut que je réfléchisse car j’éteins 3 ou 4 fois par mois Ubuntu

Ce qui rend ma proposition caduque car elle ne peut pas fonctionner si le pc n'est pas éteint chaque jours .
Il va falloir imaginer une autre approche...

Ta proposition fonctionne (HORS sudo crontab *!?)  mais si elle n'était pas optimum , voir la remarque juste de @beuguissime  si je loupe cette notification  (il faudrait aussi un "popup" pour valider mon attention roll ) mais j'avoue que cela fait beaucoup de temps que je suis sur ce projet au détriment d'autres et finalement c'était mieux ... qu'avant
Cet idéal risquant d'être une usine à gaz par rapport aux risques.

* elle ne fonctionne pas dans le crontab, c.ad. que si la cible est absente, le fichier fait est bien généré mais il n'y a pas de notification !!
J'ai l'impression qu'il doit y avoir un pb de droit car je ne peux pas effacer le fichier "fait" sus tmp ,ce qui me permettait de le supprimer

J'ai trouvé mon erreur j’avais oublié le ".sh" dans le script que j'ai rectifié dans précédent post smile

Dernière modification par herveD (Le 19/12/2020, à 14:52)


Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/

Hors ligne

#17 Le 19/12/2020, à 15:00

Compte supprimé

Re : notification ubuntu si problème synchronisation (résolu)

Au lieu d'une notification, on pourrait utiliser une boite de dialogue qui s'affiche tant que tu ne cliques pas sur valider... Ceci est faisable. Mais si le pc n'est pas journalièrement éteint, le lendemain le fichier /tmp/fait etant toujours présent, tu ne recevras aucune notification... c'est pourquoi  j'affirmais que ma proposition est caduque.

#18 Le 19/12/2020, à 15:03

herveD

Re : notification ubuntu si problème synchronisation (résolu)

si c'est pas trop difficile pour toi ou qq d'autres mais cela dépasse mes maigres compétences
Je me limiterai à ta proposition si j'arrive à la faire fonctionner dans le cron !!?


Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/

Hors ligne

#19 Le 19/12/2020, à 15:09

Compte supprimé

Re : notification ubuntu si problème synchronisation (résolu)

Je peux te faire ça tout à l'heure. Mais :

moi a écrit :

Mais si le pc n'est pas journalièrement éteint, le lendemain le fichier /tmp/fait etant toujours présent, tu ne recevras aucune notification...

Sur  ce,  je passe à table, j'ai très très faim ^^

#20 Le 19/12/2020, à 15:58

Compte supprimé

Re : notification ubuntu si problème synchronisation (résolu)

Avec la boite de dialogue zenity ( à installer ---> sudo apt install zenity ):

zenity --warning --title "mon_titre" --text "Ceci est mon alerte"

Depuis un script exécuté en root:

sudo -u toi DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus zenity --warning --title "mon_titre" --text "Ceci est mon alerte" 

#21 Le 19/12/2020, à 16:21

Compte supprimé

Re : notification ubuntu si problème synchronisation (résolu)

pseudofab a écrit :

Je peux te faire ça tout à l'heure. Mais :
Mais si le pc n'est pas journalièrement éteint, le lendemain le fichier /tmp/fait étant toujours présent, tu ne recevras aucune notification...

En fait, si tu n'éteins pas journalièrement ton ordi ce n'est pas un souci, il suffit de créer un cron qui exécute un rm /tmp/fait, par exemple, à 4h du matin (si tu ne vis pas la nuit) ...

Dernière modification par Compte supprimé (Le 19/12/2020, à 16:22)

#22 Le 19/12/2020, à 16:41

Hizoka

Re : notification ubuntu si problème synchronisation (résolu)

Il suffit de ne pas mettre le fichier dans /tmp mais dans le home et les reboot ne gênent plus.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#23 Le 19/12/2020, à 16:48

Compte supprimé

Re : notification ubuntu si problème synchronisation (résolu)

En effet wink . Je n'étais pas allé jusqu’au bout de ma pensée ..

#24 Le 21/12/2020, à 14:19

herveD

Re : notification ubuntu si problème synchronisation (résolu)

Bonjour
Merci à vous, j'avai eu la même idée pour le chemin
J'y suis presque mais cela ne fonctionne pas encore au top
J'ai voulu ajouter des variables comme je dois faire cela avec plusieurs disques
Mais cela ne fonctionne pas ni en écriture dans le log , ni du fichier mémorisation de l'état

#!/bin/bash
chemin_source="/media/rvnux/4958-6F89/source/"
chemin_cible="/media/rvnux/4958-6F89/cible/"
chemin_dos_synchro="/media/rvnux/donnees/Com. informat./Communs Ubuntu/scripts/synchronisation disques/"
msg_boite="DISQUE SYNC" 
exec > ~ $chemin_dos_synchro/log_synchro-dd-sync 2>&1 #NOK ne fonctionne pas comme les autres chemins
#exec > "/media/rvnux/donnees/Com. informat./Communs Ubuntu/scripts/synchronisation disques"/log_synchro-dd-sync 2>&1  OK

if [[ ! -e $chemin_cible ]] # Affiche 1 notification une seule fois si la cible n'existe jusqu'au prochain lancement d'ubuntu
then
[ -e $chemin_dos_synchro/1-affic-dd-pny-non-dispo  ] || 
# DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "Synchro xxx/heure; Le dossier /media/rvnux/4958-6F89/cible/ n'existe pas"
 DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus zenity --warning --title "Absence disque " --text $msg_boite
touch $chemin_dos_synchro/1-affic-dd-pny-non-dispo
   echo "On fait rien du tout, car disque absent!"
   exit 1
fi

# time donne la durée de la syncho qui se fait en excluant le dossier: "trash-1000"
time rsync -agv -u --exclude /.Trash-1000/ --delete-after $chemin_source $chemin_cible 
retour_rsync=$?

if (( $ret_rsync )) #Si erreur dans syncrhonisation
then
  echo "rsync à renvoyer le code $retour_rsync ! notification"
  # EST-CE QUE CELA STOCKE BIEN DANS LES LOGS (car pour l'instant je ne sais pas simuler erreur de synchro dans les logs??
  exit 1
else  
  echo "rsync a fini correctement son travail" 
  exit 0
fi

Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/

Hors ligne

#25 Le 21/12/2020, à 19:41

kamaris

Re : notification ubuntu si problème synchronisation (résolu)

Les guillemets, et pas de tilde qui se balade :

exec > "$chemin_dos_synchro/log_synchro-dd-sync" 2>&1

Hors ligne