schedulare applicazioni user
schedulare applicazioni user
Buongiorno,
avrei bisogno di avviare thunderbird ad un orario e di arrestarlo ad un altro orario (del tipo alle 8:00 start, alle 20:00 stop).
Ho un server su cui gira thuderbird e che inoltra le notifiche relative a dei feed ad un gruppo di persone, purtroppo mi accorgo che le risorse di TB crescono nella giornata fino a raggiungere il 98% dell'uso della memoria fisica, compromettendo l'avvio di altri servizi schedulati la notte (backup, ecc).
La soluzione più rapida che mi è venuta a mente è quella di usare cron, ma cron lavora su istanza diversa dall'utente e quindi esegue lo script bash ma non lancia il programma nella sessione user (e neanche lo arresta).
Qualche suggerimento?
Non sono affatto skillato su scripting, magari basta indicare di eseguire il comando come "user" ma non saprei come fare...
avrei bisogno di avviare thunderbird ad un orario e di arrestarlo ad un altro orario (del tipo alle 8:00 start, alle 20:00 stop).
Ho un server su cui gira thuderbird e che inoltra le notifiche relative a dei feed ad un gruppo di persone, purtroppo mi accorgo che le risorse di TB crescono nella giornata fino a raggiungere il 98% dell'uso della memoria fisica, compromettendo l'avvio di altri servizi schedulati la notte (backup, ecc).
La soluzione più rapida che mi è venuta a mente è quella di usare cron, ma cron lavora su istanza diversa dall'utente e quindi esegue lo script bash ma non lancia il programma nella sessione user (e neanche lo arresta).
Qualche suggerimento?
Non sono affatto skillato su scripting, magari basta indicare di eseguire il comando come "user" ma non saprei come fare...
Re: schedulare applicazioni user
Ma perché Thunderbird arriva ad utilizzare tutta sta RAM? Forse è questo il problema da risolvere. È aggiornato? Hai fatto ricerche in merito?
Che prove hai fatto con Cron?
Che prove hai fatto con Cron?
Re: schedulare applicazioni user
Ciao Azioga,
non ho capito bene il perché, ho provato ad avviare TB in "modalità risoluzione problemi" dove disattiva temporaneamente tutti i componenti aggiuntivi (anche se non ne ho installati personalmente) ma il problema sussiste.
TB è installato su una macchina virtuale dedicata all'inoltro delle mail con 4Gb di ram, mi sono accorto che ogni tanto si arrestava inaspettatamente e dai registri di sistema ho visto che il modulo OOM-Killer (Out Of Memory) e mi spegneva il servizio prima di mandare in crash il sistema operativo.
Ho fatto delle verifiche della richiesta di memoria dal servizio e mi sono accorto che talvolta arrivava a chiedere 6Gb di ram e poi lo arrestava.
Ho quindi aumentato lo swap portandolo a 10Gb con totale di memoria 14Gb rassegnandomiall'idea che thunderbird è un programma "ramgivoro" (contrazioni attualissime ).
Se hai qualche suggerimento in merito eviterei un passaggio "forzato"... però non sarebbe male conoscere anche il sistema di far partire e spegnere applicazioni user ad un certo orario può tornare utile non solo al mio caso
non ho capito bene il perché, ho provato ad avviare TB in "modalità risoluzione problemi" dove disattiva temporaneamente tutti i componenti aggiuntivi (anche se non ne ho installati personalmente) ma il problema sussiste.
TB è installato su una macchina virtuale dedicata all'inoltro delle mail con 4Gb di ram, mi sono accorto che ogni tanto si arrestava inaspettatamente e dai registri di sistema ho visto che il modulo OOM-Killer (Out Of Memory) e mi spegneva il servizio prima di mandare in crash il sistema operativo.
Ho fatto delle verifiche della richiesta di memoria dal servizio e mi sono accorto che talvolta arrivava a chiedere 6Gb di ram e poi lo arrestava.
Ho quindi aumentato lo swap portandolo a 10Gb con totale di memoria 14Gb rassegnandomiall'idea che thunderbird è un programma "ramgivoro" (contrazioni attualissime ).
Se hai qualche suggerimento in merito eviterei un passaggio "forzato"... però non sarebbe male conoscere anche il sistema di far partire e spegnere applicazioni user ad un certo orario può tornare utile non solo al mio caso
Re: schedulare applicazioni user
per cron prova a dare un'occhiata qui
https://serverfault.com/questions/35283 ... cific-user
comunque se apri un terminale dall'utente che ti interessa con
non so se è possibile eseguire programmi con interfaccia grafica da cron. probabilmetne dovrai settare qualche variabile d'ambiente tipo DISPLAY.
thunderbird ha anche la possibilità di girare senza gui
https://serverfault.com/questions/35283 ... cific-user
comunque se apri un terminale dall'utente che ti interessa con
crontab -e
puoi aggiungere comandi a livello user.non so se è possibile eseguire programmi con interfaccia grafica da cron. probabilmetne dovrai settare qualche variabile d'ambiente tipo DISPLAY.
thunderbird ha anche la possibilità di girare senza gui
--headless
...mai provataRe: schedulare applicazioni user
azioga conazioga ha scritto: ↑08/10/2022, 8:17 per cron prova a dare un'occhiata qui
https://serverfault.com/questions/35283 ... cific-user
comunque se apri un terminale dall'utente che ti interessa concrontab -e
puoi aggiungere comandi a livello user.
crontab -e
(esempio uno script con killall thunderbird
alle 20 e uno per avviarlo o metterlo autopartente al boot la mattina) dall'utente e sapere cosa è che consumi RAM esagerata siano ottimi consigli. Io uso TB con 5 istanze di 5 account mail diversi, vero non ho feed, contemporaneamente e ogni istanza mi consuma dai 100 ai 300MB e con Firefox, Chromium e altro non mi sembra sia mai arrivato ai 4GiB di ramNon vorrei fossero troppi i feed da gestire. Dalla v60 l'intervallo di aggiornamento di ciascun feed può essere impostato individualmente per controllare nuovi feed ogni tot minuti.
Altra soluzione utilizzare TB o altri client a linea di comando ma questo anche io non l'ho fatto, almeno negli ultimi anni.
Poi potrebbe anche essere un problema della macchina virtuale.
[edit]sempre dalla 60 ci sono un sacco di voci per la gestione o limitazione dei feed come
rss.max_concurrent_feeds
Live Long & Prosper - Mettere [RISOLTO] al titolo primo post come da Regolamento quando risolto (entro 30g), tnx. https://duckduckgo.com - https://guide.debianizzati.org/index.ph ... i_al_forum
Il cancro si può sconfiggere!
Il cancro si può sconfiggere!
Pseudocodice e rss2email
come script, facilmente utilizzabile con crontab dalle 8 alle 20 uno pseudocodice potrebbe essere tipo:
Anche con tb si può con -compose "option1=value,option2=value ..." (visto dall'help e nulla più) ma quasi tutti i client ce l'hanno (mutt per esempio è solo testuale).
Poi c'è anche il pacchetto https://packages.debian.org/bullseye/rss2email - ricezione di feed RSS per posta elettronica: rss2email è un semplice programma da far girare tramite crontab. Guarda i feed RSS (o Atom) e spedisce all'utente un messaggio di posta elettronica ben presentato per ogni novità.
... mai provato ma sembra proprio quello che ti serve
Codice: Seleziona tutto
logdelgiorno="invio[AAMMGG].txt"
mittente="paperino@paperino.pap"
destinatario="paperina@paperino.pap"
ilfeed="paperopoli.pap/feed.xml"
aggiornamento = seceunaggiornamento($ilfeed) // true se c'è un aggiornamento'
if [ "$aggiornamento" ]; then
corpomail = leggifeed($ilfeed) // funzione che legge il feed e restituisce il corpo della mail
oggetto = titolofeed($ilfeed) // funzione che legge il feed e restituisce oggetto della mail
echo "Invio a $destinatario con oggetto $oggetto : $corpomail" >> $logdelgiorno
clientdiposta -opzionesend --mittente $mittente --destinatario $destinatario --oggetto $oggetto --corpo $corpomail
fi
Poi c'è anche il pacchetto https://packages.debian.org/bullseye/rss2email - ricezione di feed RSS per posta elettronica: rss2email è un semplice programma da far girare tramite crontab. Guarda i feed RSS (o Atom) e spedisce all'utente un messaggio di posta elettronica ben presentato per ogni novità.
... mai provato ma sembra proprio quello che ti serve
Live Long & Prosper - Mettere [RISOLTO] al titolo primo post come da Regolamento quando risolto (entro 30g), tnx. https://duckduckgo.com - https://guide.debianizzati.org/index.ph ... i_al_forum
Il cancro si può sconfiggere!
Il cancro si può sconfiggere!
Re: schedulare applicazioni user
Grazie Davi7
io non ho impostato alcun feedrss... ho impostato molti filtri per inoltrare delle mail come una sorta di notifiche ricevute da un sito interno aziendale.
Non sono riuscito però ad impostare gli script per avviare o fermare il processo (l'oggetto di questo thread)
come dicevo non sono molto ferrato su scripting ma credo che non si possa avviare in automatico un processo in bash a livello utente (applicazione desktop)
io non ho impostato alcun feedrss... ho impostato molti filtri per inoltrare delle mail come una sorta di notifiche ricevute da un sito interno aziendale.
Non sono riuscito però ad impostare gli script per avviare o fermare il processo (l'oggetto di questo thread)
come dicevo non sono molto ferrato su scripting ma credo che non si possa avviare in automatico un processo in bash a livello utente (applicazione desktop)
Re: schedulare applicazioni user
Ciao alemaio hai scritto tu feed e notifiche ed è per questo che ti ho detto quelle cose: ora non so cosa intendi per "una sorta di notifiche ricevute da un sito interno aziendale" scusami, sarà sicuramente una mia mancanza / stanchezza mentale.
thunderbird (tb per gli amici ) può essere chiamato anche da terminale dell'utente e quindi può essere chiamato anche da uno script bash con i vari parametri.
Se riesco a capire meglio possiamo vedere di aiutarti.
Come arrivano queste 'cose' da un sito aziendale e cosa sono? Puoi fare un esempio di uno di questi filtri di cui parli?
Per chiudere tutti i processi di tb basta un bel
killall thunderbird
Live Long & Prosper - Mettere [RISOLTO] al titolo primo post come da Regolamento quando risolto (entro 30g), tnx. https://duckduckgo.com - https://guide.debianizzati.org/index.ph ... i_al_forum
Il cancro si può sconfiggere!
Il cancro si può sconfiggere!
Re: schedulare applicazioni user
Hai ragione scusami forse mi sono spiegato male
in pratica il sito (joomla) ha un componente (jcomment) che ad ogni commento inserito invia una mail ad un indirizzo, con TB ho fatto delle regole nei filtri: se nel commento inserito viene menzionato un utente, allora TB inoltra il commento a quell'utente. È un sito aziendale che permette ai vari uffici di lavorare sincronizzati su gli ordini di produzione.
Per lo script invece ho editato questo:
per il comando cron ho inserito questo:
però non si avvia...
in pratica il sito (joomla) ha un componente (jcomment) che ad ogni commento inserito invia una mail ad un indirizzo, con TB ho fatto delle regole nei filtri: se nel commento inserito viene menzionato un utente, allora TB inoltra il commento a quell'utente. È un sito aziendale che permette ai vari uffici di lavorare sincronizzati su gli ordini di produzione.
Per lo script invece ho editato questo:
Codice: Seleziona tutto
#! /bin/bash
#avviare thunderbird
/bin/thunderbird
per il comando cron ho inserito questo:
Codice: Seleziona tutto
05 17 * * * alessio /home/alessio/My_script/start_thunderbird.sh
Re: schedulare applicazioni user
Figurati succede
Ora ho capito meglio. Se ho tempo vedo se è possibile farlo direttamente da jcomment, che sarebbe la risoluzione del tuo problema direttamente dal sito.
capito anche questo. Hai provato a vedere l'addon tb "Send Later" che mi sembra customizzabile anche per il range di quando inviarle? https://extended-thunder.github.io/send-later/
Per lo script, a cui ovviamente avrai dato i permessi di esecuzione, io (non so se è facoltativo o meno) non metto lo spazio ma
#!/bin/bash
.Ho fatto delle prove e devo dire che mettendo il nome del programma stesso e non uno script, monitorando la visualizzazione dei processi, vedo che parte thunderbird ma poi si chiude
Devo dire che sono un po' arrugginito sui
crontab
anche se ricordo che il nome dell'utente come sesto parametro si mette non quando si fa crontab -e
dal terminale dell'utente ma solo nei file del cron in /etc/
cosa che probabilmente saprai.Se metto nel crontab la chiamata ad uno script semplice con un echo che scrive su un file, su
/home/nomeutente/mieiscript/
funziona perfettamente. Quindi il dubbio potrebbe proprio essere il fulcro del problema del perchè non parte tb avendo una GUI.azioga ha scritto:non so se è possibile eseguire programmi con interfaccia grafica da cron. probabilmetne dovrai settare qualche variabile d'ambiente tipo DISPLAY.
Il killall invece dovrebbe funzionare.
Live Long & Prosper - Mettere [RISOLTO] al titolo primo post come da Regolamento quando risolto (entro 30g), tnx. https://duckduckgo.com - https://guide.debianizzati.org/index.ph ... i_al_forum
Il cancro si può sconfiggere!
Il cancro si può sconfiggere!
Re: schedulare applicazioni user
se hai solo la necessità di far partire thunderbird e spegnerlo dopo un certo numero di ore puoi usare
fa partire tb e lo spegne dopo 10 ore.
oppure puoi metterlo in un comando che lo fa partire, lo spegne e dopo una certa attesa lo fa ripartire ad esempio
qui un po' di esempi con anche la possibilità di eseguirlo in background, ma non so se può fare al caso tuo:
https://askubuntu.com/questions/1438050 ... ng-the-app
https://superuser.com/questions/298795/ ... minutes-la
la soluzione migliore rimane sempre quella di trovare il motivo dell'uso di tutta la RAM.
hai provato con un nuovo profilo? hai verificato che non ci sia un filtro che fa casino?
timeout
Codice: Seleziona tutto
$ timeout 10h thunderbird
oppure puoi metterlo in un comando che lo fa partire, lo spegne e dopo una certa attesa lo fa ripartire ad esempio
$ /bin/bash -c 'while true; do timeout 10h thunderbird; sleep 10m; done'
qui un po' di esempi con anche la possibilità di eseguirlo in background, ma non so se può fare al caso tuo:
https://askubuntu.com/questions/1438050 ... ng-the-app
https://superuser.com/questions/298795/ ... minutes-la
la soluzione migliore rimane sempre quella di trovare il motivo dell'uso di tutta la RAM.
hai provato con un nuovo profilo? hai verificato che non ci sia un filtro che fa casino?
Re: schedulare applicazioni user
non voglio utilizzare il server mail di joomla, ma delego il compito a TB... mi resta più facile per la consultazione/storicizzazione dei flussi
lo utilizzo ma per questa applicazione non è opportuno visto che devo inviare i commenti sul momento
no non lo sapevo... il log da terminale mi restituisce questo quando parte cron
Apr 13 17:47:01 debian CRON[291306]: (alessio) CMD (alessio /home/alessio/My_script/start_thunderbird.sh)
Apr 13 17:47:01 debian CRON[291305]: (CRON) info (No MTA installed, discarding output)
comunque i permessi dello script sono di esecuzione di fatti se lo lancio con doppio click parte
non saprei come settare una variabile di ambiente di tipo DISPLAY
sicuramente! ma un palliativo potrebbe essere riuscire ad avviare e spegnere in automatico TB... attualmente lo faccio a mano quando me lo ricordo
davvero mi sembra strano che nessuno abbia mai avuto l'esigenza di far partire e fermare un applicazione in automatico su linux
Re: schedulare applicazioni user
Potresti anche raddoppiare le cose... Mandare mail sia all'utente che a te la vedi fattibile? Il server mail di joomla manda il doppio delle mail così, ma tu puoi verificare i flussi di lavoro da TB, il sistema funziona a prescindere.
Con interfaccia grafica? E perché mai? Mo lascia perdere che ti serve e si prova a farlo, ma stai avendo problemi perché l'architettura del sistema non è esattamente robusta.
La soluzione di azioga che te ne pare?
~ Marco
Re: schedulare applicazioni user
Grande idea azioga,azioga ha scritto: ↑13/04/2023, 9:01 se hai solo la necessità di far partire thunderbird e spegnerlo dopo un certo numero di ore puoi usaretimeout
fa partire tb e lo spegne dopo 10 ore.Codice: Seleziona tutto
$ timeout 10h thunderbird
timeout
non mi era proprio venuto in mente!Come ho detto concordo al 1000% altrimenti qualsiasi stop o start temporizzato se poi ti crasha addirittura tutto il sistema è inutile.
Per quanto riguarda joomla è facilmente storicizzarare i flussi con un po' di programmazione backend
p.s. MTA = Mail Transfer Agent quindi probabile che ci voglia per cron qualcosa come
postfix
Live Long & Prosper - Mettere [RISOLTO] al titolo primo post come da Regolamento quando risolto (entro 30g), tnx. https://duckduckgo.com - https://guide.debianizzati.org/index.ph ... i_al_forum
Il cancro si può sconfiggere!
Il cancro si può sconfiggere!