Vous avez toujours voulu être averti lorsqu'un processus / une commande de longue durée était terminé, non seulement sur votre bureau mais également sur votre téléphone ? Noti peut le faire.
note est un outil de ligne de commande pour macOS, Linux et Microsoft Windows qui surveille un processus/une commande et déclenche une notification sur votre bureau ou votre téléphone lorsque l'exécution est terminée.
Notifications prises en charge :
- Notifications de bureau (bannières)
- discours
- BearyChat
- Base de clés
- Le plus important
- Pushbulle
- Pouvoir
- Pushsafer
- Appui simple
- Détendu
- télégramme
- Zulip
- Twilio
Toutes ces notifications prises en charge fonctionnent sur macOS, Linux et Windows.
Il convient de noter que si vous souhaitez simplement recevoir une notification sur le bureau lorsqu'une longue commande est terminée sous Linux, vous pouvez simplement exécuter command; notify-send Done
(par exemple sleep 3; notify-send Done
).
Par défaut, Noti n'affiche que le texte "Terminé !" lors de l'exécution d'une tâche de longue durée, cela peut être prolongé. Vous pouvez spécifier le titre de la notification (la valeur par défaut est le nom de l'utilitaire), spécifier la notification (la valeur par défaut est "Terminé !" ; Lire à partir de stdin avec -
) et afficher l'heure d'exécution dans la notification.
Vous pouvez utiliser noti au début d'une commande, par exemple :
noti sleep 3
Et après une commande, par exemple :
sleep 3; noti
Vous pouvez même utiliser Noti après le démarrage d'une commande en obtenant le PID du processus, puis en utilisant la commande suivante :
noti --pwatch PID
Ou en appuyant sur Ctrl + z
après le démarrage d'un processus, mettez-le temporairement en pause, puis continuez avec :
fg; noti
Pour plus d'informations sur Noti, y compris la configuration des notifications Noti avec divers services, les variables d'environnement Noti, etc., consultez cette page. Cependant, en le testant, j'ai remarqué que cette page est un peu obsolète. Par exemple, Slack n'autorise plus la création d'anciens jetons de testeur. Vous pouvez donc également consulter la page de manuel Noti à partir d'ici, et l'homme noti.yaml à partir d'ici.
Lisez la suite pour savoir comment installer et configurer Noti, y compris un guide complet sur la façon de configurer Noti pour notifier sur votre appareil mobile via Telegram et Slack lorsqu'une commande de longue durée est terminée.
Vous pourriez également aimer ceci :Comment répéter une commande toutes les X secondes sous Linux
Noti. installer et configurer
Le guide d'installation Noti lié via le bouton ci-dessus contient plusieurs options pour installer cet outil. Si vous souhaitez obtenir le binaire directement, rendez-vous simplement sur la page de publication de l'outil GitHub.
Le moyen le plus simple d'installer Noti sur Linux est de télécharger le binaire à partir de la page de publication, d'extraire l'archive, puis d'installer ce noti
binaire en /usr/local/bin
en utilisant (en supposant que vous avez décompressé l'archive binaire Noti dans votre dossier personnel et ouvert le terminal dans votre répertoire personnel) :
sudo install noti*linux-amd64/noti /usr/local/bin
Par défaut, Noti utilise les notifications de bureau (bannières). Ci-dessous, je vais vous montrer comment configurer Noti pour envoyer des notifications lorsqu'un processus de longue durée est terminé sur votre appareil mobile via Slack et Telegram, car c'est ce que j'utilise. Si vous souhaitez l'utiliser avec un autre service, vous devrez le configurer vous-même à l'aide des instructions (bien qu'un peu incomplètes et dans certains cas obsolètes à mon avis, par exemple, vous ne pouvez plus créer de jetons Slack et vous devrez utiliser un Application Slack) à partir d'ici.
Vous pourriez également aimer ceci :Bit est une CLI Git moderne avec une invite interactive
Configurer Noti pour qu'il vous avertisse lorsqu'une longue commande a été exécutée en envoyant un message sur Telegram
Vous avez besoin d'un télégramme pour que Noti vous envoie des messages de télégramme lorsqu'une longue commande a été exécutée chatId
et token
. Cela fonctionne avec un chat Telegram ou un canal. Dans mes instructions ci-dessous, nous utilisons un canal de télégramme.
1. Créez un canal de télégramme.
La première chose que vous devez faire est de créer un canal de télégramme. Il peut avoir n'importe quel nom et description.
2. Créez un bot Telegram et obtenez le jeton d'accès à l'API HTTP.
Ensuite, vous devez utiliser le père du bot (@botfather) pour créer un bot et obtenir un jeton d'accès à l'API HTTP.
Pour ce faire, démarrez une conversation avec @botfather et entrez /start
dans le chat pour voir les commandes disponibles, etc. Donnez maintenant /newbot
pour créer un nouveau bot et suivez les instructions (vous devez définir un nom et un nom d'utilisateur pour votre nouveau bot). Lorsque vous avez terminé, @botfather affichera un jeton pour accéder à l'API HTTP. Copiez ce jeton car nous en aurons besoin plus tard.
3. Ajoutez le bot Telegram créé à l'étape 2 à votre chaîne et obtenez le chatId
.
Nous avons maintenant un jeton, mais nous devons également obtenir le chatId.
Ajoutez le bot que vous avez créé à l'étape 2 à votre nouvelle chaîne Telegram (allez sur la chaîne et sélectionnez parmi les options Add users
et recherchez le bot que vous avez créé).
Après avoir ajouté le bot, saisissez un message sur votre chaîne Telegram. Ceci est important et nécessaire pour le chatId
.
Vous pouvez maintenant chatId
en visitant le lien suivant que vous devez modifier :
https://api.telegram.org/botXXX:YYYYY/getUpdates
Remplacez XXX:YYYYY
avec le jeton d'API HTTP de votre bot que vous avez reçu à l'étape 2.
Ce lien affiche un certain nombre de textes, sous lesquels vous trouverez les éléments suivants :
chat":{"id":-100999999999}
L'ID d'ici est le vôtre chatId
que vous devez utiliser avec Noti. Ce -
Le caractère au début du nombre fait partie du chatId
alors assurez-vous de l'utiliser également et pas seulement les chiffres.
4. Créez le fichier de configuration Noti (si vous ne l'avez pas encore créé) et ajoutez Telegram.
Maintenant que nous connaissons le télégramme chatId
et API HTTP token
, créez le fichier de configuration Noti nommé noti.yaml
en ~/.config/noti/
Ouvrez ce fichier avec un éditeur de texte et collez ce qui suit :
telegram:
token: THE_HTTP_API_TOKEN_GOT_UNDER_STEP_2
chatId: 'THE_CHAT_ID_GOT_UNDER_STEP_3'
Exemple (modifié pour ne pas inclure mon vrai token
et chatId
):
telegram:
token: 1598888700:AEEijJJcsABpYR1LdJ4_Llkr1Vq48vxAUSg
chatId: '-10099999999999'
Testez que Noti envoie un message de télégramme lorsqu'une longue commande a été exécutée en utilisant :
sleep 3; noti --telegram
Ne vous inquiétez pas, vous n'avez pas besoin d'ajouter le paramètre de ligne de commande -telegram à chaque fois que vous utilisez Noti. Vous pouvez exporter NOTI_DEFAULT
avec une liste de types de notification à déclencher, par ex. B. pour utiliser les notifications de bannières de bureau et les notifications de télégrammes, vous devez exporter NOTI_DEFAULT="banner telegram"
.
Ajouter à export NOTI_DEFAULT="banner telegram"
à votre ~/.profile
Fichier pour rendre le changement permanent. Modifiez cela, bien sûr NOTI_DEFAULT
Types de notification sur ce que vous souhaitez utiliser. Déconnectez-vous et reconnectez-vous après avoir apporté des modifications à votre. ont fait ~/.profile
Fichier pour utiliser les nouveaux paramètres.
Cela pourrait également vous intéresser :comment rechercher des fichiers qui ont été modifiés au cours des N derniers jours ou minutes à l'aide de la fonction de recherche
Configurez Noti pour qu'il vous avertisse lorsqu'une commande de longue durée a été exécutée en envoyant un message sur Slack
La page de documentation Noti mentionne la création d'un jeton OAuth pour les tests et le développement, mais cela n'est plus pris en charge par Slack. Au lieu de cela, nous devons créer une application Slack.
1. Connectez-vous à Slack avec un navigateur Web.
2. Créez une application Slack.
Accédez à https://api.slack.com/apps/new et créez une nouvelle application Slack avec n'importe quel nom.
3. Activer les Webhooks entrants.
Après avoir créé une application Slack, vous serez redirigé vers la page des paramètres de votre nouvelle application. Ci-joint Basic Information
sélectionné dans la barre latérale gauche), développez le Add features and functionality
Section, puis cliquez sur Incoming Webhooks
. Allumez l'interrupteur à côté d'ici Activate Incoming Webhooks
.
4. Créez un webhook entrant.
Au bas du Incoming Webhooks
Côté, cliquez sur Add New Webhook to Workspace
, et sélectionnez une chaîne ou vous-même (ce dernier sous Direct Messages
). Vous recevrez la notification ici. J'ai sélectionné mon nom d'utilisateur ici.
[[Modifier]] Les étapes de création d'une application Slack et d'un webhook entrant sont également décrites dans la documentation de l'API Slack.
Après avoir créé un webhook entrant, vous serez redirigé vers le Incoming Webhooks
Page. Au bas de cette page, vous devriez voir le Webhook URL
. Copiez cette URL.
5. Créez le fichier de configuration Noti (si vous ne l'avez pas déjà créé) et ajoutez-y Slack.
Maintenant que nous avons l'url du webhook Slack, créez le fichier de configuration noti nommé noti.yaml
en ~/.config/noti/
Ouvrez ce fichier avec un éditeur de texte et collez ce qui suit :
slack:
appurl: 'https://hooks.slack.com/services/xxx/yyy/zzz'
Remplacez ici appurl
Valeur avec l'URL du webhook Slack que vous avez obtenue à l'étape 4 et enregistrez le fichier.
Testez pour voir si Noti envoie une notification Slack lorsqu'une commande de longue durée a été exécutée en utilisant :
sleep 3; noti --slack
Voici comment toujours utiliser Slack pour envoyer des notifications lorsque vous tapez noti
(vous n'avez donc pas à taper noti --slack
chaque fois que vous souhaitez être notifié sur Slack) vous pouvez exporter NOTI_DEFAULT
avec une liste de types de notification à déclencher, par ex. Par exemple, pour utiliser les notifications de bannière de bureau et les notifications Slack, vous devez exporter NOTI_DEFAULT="banner slack"
.
Ajouter à export NOTI_DEFAULT="banner slack"
à votre ~/.profile
Fichier pour rendre le changement permanent. Modifiez cela, bien sûr NOTI_DEFAULT
Types de notification sur ce que vous souhaitez utiliser. Déconnectez-vous et reconnectez-vous après avoir apporté des modifications à votre. ont fait ~/.profile
Fichier pour utiliser les nouveaux paramètres.
Vous aimerez peut-être aussi ceci :Historique de Bash :Voici comment afficher un horodatage (date/heure) lorsque chaque commande a été exécutée