¿Alguna vez quiso recibir una notificación cuando finalizó un proceso/comando de larga ejecución, no solo en su escritorio sino también en su teléfono? Noti puede hacer eso.
note es una herramienta de línea de comandos para macOS, Linux y Microsoft Windows que supervisa un proceso/comando y activa una notificación en su escritorio o teléfono cuando finaliza la ejecución.
Notificaciones admitidas:
- Notificaciones de escritorio (banners)
- discurso
- BearyChat
- Base de claves
- Mattermost
- Empujador
- Empujador
- Empuje más seguro
- Pulsación única
- Relajado
- telegrama
- Zulip
- Twilio
Todas estas notificaciones compatibles funcionan en macOS, Linux y Windows.
Vale la pena señalar que si solo desea recibir una notificación en el escritorio cuando finalice un comando de ejecución prolongada en Linux, puede ejecutar command; notify-send Done
(por ejemplo, sleep 3; notify-send Done
).
De forma predeterminada, Noti solo muestra el texto "¡Listo!" al completar una tarea de larga duración, esto se puede extender. Puede especificar el título de la notificación (el valor predeterminado es el nombre de la utilidad), especificar la notificación (el valor predeterminado es "¡Listo!"; Leer desde stdin con -
) y mostrar el tiempo de ejecución en la notificación.
Puede usar noti al comienzo de un comando, por ejemplo:
noti sleep 3
Y después de un comando, por ejemplo:
sleep 3; noti
Incluso puede usar Noti después de que un comando ya se haya iniciado obteniendo el PID del proceso y luego usando el siguiente comando:
noti --pwatch PID
O presionando Ctrl + z
después de que un proceso ha comenzado para pausarlo temporalmente y luego continuar con:
fg; noti
Para obtener más información sobre Noti, incluida la configuración de notificaciones de Noti con varios servicios, variables de entorno de Noti, etc., consulte esta página. Sin embargo, mientras lo probaba, noté que esta página está un poco desactualizada. Por ejemplo, Slack ya no permite la creación de tokens de probadores heredados. Así que también puedes echar un vistazo a la página de manual de Noti desde aquí, y a noti.yaml man desde aquí.
Siga leyendo para aprender a instalar y configurar Noti, incluida una guía completa sobre cómo configurar Noti para que notifique en su dispositivo móvil a través de Telegram y Slack cuando finalice un comando de ejecución prolongada.
También te puede interesar esto:Cómo repetir un comando cada X segundos en Linux
Nota. instalar y configurar
La guía de instalación de Noti vinculada a través del botón de arriba contiene varias opciones para instalar esta herramienta. Si desea obtener el binario directamente, simplemente vaya a la página de publicación de la herramienta GitHub.
La forma más fácil de instalar Noti en Linux es descargar el binario de la página de lanzamiento, extraer el archivo y luego instalar ese noti
binario a /usr/local/bin
usando (suponiendo que haya descomprimido el archivo binario de Noti en su carpeta de inicio y abierto la terminal en su directorio de inicio):
sudo install noti*linux-amd64/noti /usr/local/bin
Por defecto, Noti usa notificaciones de escritorio (banners). A continuación, le mostraré cómo configurar Noti para enviar notificaciones cuando se complete un proceso de ejecución prolongada en su dispositivo móvil a través de Slack y Telegram, ya que esto es lo que uso. Si desea usarlo con cualquier otro servicio, deberá configurarlo usted mismo siguiendo las instrucciones (aunque algo incompletas y en algunos casos desactualizadas en mi opinión, por ejemplo, ya no puede crear tokens de Slack y tendrá que usar un Slack App) desde aquí.
También te puede gustar esto:Bit es una CLI de Git moderna con un aviso interactivo
Configure Noti para que le notifique cuando se haya ejecutado un comando largo mediante el envío de un mensaje en Telegram
Necesitas un telegrama para que Noti te envíe mensajes de telegrama cuando se haya ejecutado un comando largo chatId
y token
. Esto funciona con un chat de Telegram o un canal. En mis instrucciones a continuación, usamos un canal de Telegram.
1. Crea un canal de Telegram.
Lo primero que debes hacer es crear un canal de Telegram. Puede tener cualquier nombre y descripción.
2. Cree un bot de Telegram y obtenga el token de acceso a la API HTTP.
A continuación, debe usar Bot father (@botfather) para crear un bot y obtener un token de acceso a la API HTTP.
Para hacer esto, inicie un chat con @botfather e ingrese /start
en el chat para ver los comandos disponibles, etc. Ahora da /newbot
para crear un nuevo bot y siga las instrucciones (debe establecer un nombre y un nombre de usuario para su nuevo bot). Cuando haya terminado, @botfather mostrará un token para acceder a la API HTTP. Copie este token ya que lo necesitaremos más adelante.
3. Agrega el bot de Telegram creado en el paso 2 a tu canal y obtén el chatId
.
Ahora tenemos un token, pero también necesitamos obtener el chatId.
Agrega el bot que creaste en el paso 2 a tu nuevo canal de Telegram (ve al canal y selecciona entre las opciones Add users
y busca el bot que creaste).
Después de agregar el bot, ingrese un mensaje en su canal de Telegram. Esto es importante y necesario para el chatId
.
Ahora puedes chatId
visitando el siguiente enlace que necesita editar:
https://api.telegram.org/botXXX:YYYYY/getUpdates
Sustituir XXX:YYYYY
con el token de API HTTP de su bot que recibió en el paso 2.
Este enlace muestra una serie de textos, debajo de los cuales encontrará lo siguiente:
chat":{"id":-100999999999}
El ID de aquí es tuyo chatId
que necesitas usar con Noti. Ese -
El carácter al comienzo del número es parte del chatId
así que asegúrese de usar esto también y no solo los números.
4. Cree el archivo de configuración de Noti (si aún no lo ha creado) y agregue Telegram.
Ahora que conocemos el telegrama chatId
y API HTTP token
, cree el archivo de configuración de Noti llamado noti.yaml
en ~/.config/noti/
Abra este archivo con un editor de texto y pegue lo siguiente:
telegram:
token: THE_HTTP_API_TOKEN_GOT_UNDER_STEP_2
chatId: 'THE_CHAT_ID_GOT_UNDER_STEP_3'
Ejemplo (editado para no incluir el mío real token
y chatId
):
telegram:
token: 1598888700:AEEijJJcsABpYR1LdJ4_Llkr1Vq48vxAUSg
chatId: '-10099999999999'
Pruebe que Noti envía un mensaje de telegrama cuando se ha ejecutado un comando largo usando:
sleep 3; noti --telegram
No se preocupe, no tiene que agregar el parámetro de línea de comando –telegram cada vez que use Noti. Puede exportar NOTI_DEFAULT
con una lista de tipos de notificaciones que se activarán, p. B. para usar notificaciones de banner de escritorio y notificaciones de Telegram, tendría que exportar NOTI_DEFAULT="banner telegram"
.
Agregar a export NOTI_DEFAULT="banner telegram"
a tu ~/.profile
Archivo para hacer el cambio permanente. Edita eso, por supuesto NOTI_DEFAULT
Tipos de notificaciones sobre lo que quieres usar. Cierre sesión y vuelva a iniciar sesión después de realizar cambios en su. han hecho ~/.profile
Archivo para usar la nueva configuración.
También te puede interesar:Cómo encontrar archivos que han cambiado en los últimos N días o minutos usando find
Configure Noti para que le notifique cuando se ejecute un comando de ejecución prolongada enviando un mensaje en Slack
La página de documentación de Noti menciona la creación de un token OAuth para pruebas y desarrollo, pero Slack ya no lo admite. En su lugar, debemos crear una aplicación de Slack.
1. Inicia sesión en Slack con un navegador web.
2. Crea una aplicación de Slack.
Vaya a https://api.slack.com/apps/new y cree una nueva aplicación de Slack con cualquier nombre.
3. Habilitar webhooks entrantes.
Una vez que haya creado una aplicación de Slack, accederá a la página de configuración de su nueva aplicación. Adjunto Basic Information
seleccionado en la barra lateral izquierda), expanda el Add features and functionality
Sección, luego haga clic en Incoming Webhooks
. Encienda el interruptor al lado de aquí Activate Incoming Webhooks
.
4. Cree un webhook de entrada.
En la parte inferior del Incoming Webhooks
Lateral, haz clic en Add New Webhook to Workspace
y seleccione un canal o usted mismo (este último en Direct Messages
). Recibirás la notificación aquí. He seleccionado mi nombre de usuario aquí.
[[Editar]] Los pasos para crear una aplicación de Slack y un webhook de entrada también se describen en la documentación de la API de Slack.
Una vez que haya creado un webhook entrante, se le enviará al Incoming Webhooks
Página. En la parte inferior de esta página, debería ver el Webhook URL
. Copia esta URL.
5. Cree el archivo de configuración de Noti (si aún no lo ha creado) y agréguele Slack.
Ahora que tenemos la URL del webhook de Slack, cree el archivo de configuración noti llamado noti.yaml
en ~/.config/noti/
Abra este archivo con un editor de texto y pegue lo siguiente:
slack:
appurl: 'https://hooks.slack.com/services/xxx/yyy/zzz'
Reemplace aquí appurl
Valora con la URL del webhook de Slack que obtuviste en el paso 4 y guarda el archivo.
Pruebe para ver si Noti envía una notificación de Slack cuando se ejecuta un comando de ejecución prolongada usando:
sleep 3; noti --slack
Te mostramos cómo usar siempre Slack para enviar notificaciones mientras escribes noti
(para que no tengas que escribir noti --slack
cada vez que desee recibir una notificación en Slack) puede exportar NOTI_DEFAULT
con una lista de tipos de notificaciones que se activarán, p. Por ejemplo, para usar notificaciones de banner de escritorio y notificaciones de Slack, debe exportar NOTI_DEFAULT="banner slack"
.
Añadir a export NOTI_DEFAULT="banner slack"
a tu ~/.profile
Archivo para hacer el cambio permanente. Edita eso, por supuesto NOTI_DEFAULT
Tipos de notificaciones sobre lo que quieres usar. Cierre sesión y vuelva a iniciar sesión después de realizar cambios en su. han hecho ~/.profile
Archivo para usar la nueva configuración.
También te puede gustar esto:Historial de Bash:aquí se muestra cómo mostrar una marca de tiempo (fecha/hora) cuando se ejecutó cada comando