Voglio eseguire un piccolo file jar di monitoraggio ogni 2 ore nella mia macchina Ubuntu.

java -jar mymonitoringtool.jar 

Non so come configurarlo.

Commenti

  • cron è tuo amico, per questo.
  • Che cosa deve accadere al passaggio dallora legale allora legale? È molto importante che il lavoro venga eseguito ogni due ore e non sia consentito saltare o aggiungere unora intorno a quel momento?
  • sì, dovrebbe essere eseguito ogni due ore. Immagino che non vengano saltati poiché non sarebbe efficace rappresenterebbe 2 ore di monitoraggio piuttosto meno di 2 ore. Abbiamo in programma di eseguire alcune statistiche su di esso. Quindi, la durata è importante.

Risposta

Puoi impostare un crontab con la seguente espressione per le tue esigenze.

0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar &> path/to/monitor-$(date "+%Y%b%d-%H%M%S").log 

Dovresti prima controllare eventuali cron job esistenti eseguendo crontab -l.

Se non lo fai hai ancora cron job, puoi mettere il file a bove line in un file di testo (diciamo my-cron-job.txt) ed esegui crontab my-cron-job.txt per attivarlo. Puoi quindi verificare che il lavoro sia stato aggiunto eseguendo crontab -l ancora una volta.

Se hai cron job esistenti, dovrai eseguire crontab -e e modifica il file crontab. Ciò richiederà di lavorare con un editor della riga di comando (vi, per impostazione predefinita).

Il demone cron imposta solo un numero limitato delle variabili di ambiente, quindi è preferibile specificare il percorso completo delleseguibile java. Dovrai anche specificare il percorso completo del tuo file JAR eseguibile.

Suppongo che tu voglia raccogliere loutput dal comando java -jar, quindi Ho aggiunto un file di registro al comando. Loutput e i flussi di errore del comando verranno reindirizzati a questo file di registro, che verrà denominato con un timestamp (monitor-2018Nov03-200000.log, ad esempio).

Una volta che tutto è impostato, dovresti monitorare il cron job per le prime una o due esecuzioni. Se tutto funziona come ti serve, puoi lasciarlo in esecuzione.


Come riferimento esterno , ecco unintroduzione ai cron job. Questo dovrebbe aiutarti a capire come funziona effettivamente la pianificazione.

https://www.howtoforge.com/a-short-introduction-to-cron-jobs

Risposta

cron è il programma di pianificazione dei lavori interno di Linux. Aiuta a programmare lesecuzione del comando in un determinato intervallo o data_ora.

digita crontab -e sul terminale

aggiungi questa riga 0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

salva ed esci

Sintassi Crontab come segue

00 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar 

0 ° minuto ogni 2 ° ora ogni giorno ogni mese tutti i giorni feriali run-this-command

Per ulteriori opzioni e informazioni: https://help.ubuntu.com/community/CronHowto

Commenti

  • È richiesto path / to / java se ho configurato JAVA_HOME? Vedo che la versione java funziona sulla mia macchina.
  • non è necessario aggiungi percorso se variabile ambientale (JAVA_HOME) è impostato. Ma in qualche modo se la variabile ambientale si è incasinata, laggiunta del percorso java in cronjob ha vinto ' t brake

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *