<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cron &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/cron/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Mon, 03 Nov 2025 15:41:35 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=94623</generator>
	<item>
		<title>Il crontab non funziona?</title>
		<link>https://blog.smsoft.it/2025/05/27/il-crontab-non-funziona/</link>
					<comments>https://blog.smsoft.it/2025/05/27/il-crontab-non-funziona/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 27 May 2025 08:30:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[crontab]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=6748</guid>

					<description><![CDATA[Il file di contab contiene un errore ma non riuscite a capire qual è? Vi consiglio l&#8217;uso di chkcrontab che effettua una serie di controlli senza doverli fare a mano. Effettuaimo l&#8217;installazione: e poi lo eseguiamo: Enjoy!]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Il file di contab contiene un errore ma non riuscite a capire qual è?</p>



<p class="wp-block-paragraph">Vi consiglio l&#8217;uso di <a href="https://pypi.org/project/chkcrontab/" target="_blank" rel="noreferrer noopener">chkcrontab</a> che effettua una serie di controlli senza doverli fare a mano.</p>



<p class="wp-block-paragraph">Effettuaimo l&#8217;installazione:</p>



<pre class="wp-block-code"><code>pip3 install chkcrontab</code></pre>



<p class="wp-block-paragraph">e poi lo eseguiamo:</p>



<pre class="wp-block-code"><code>chkcrontab /etc/crontab</code></pre>



<p class="wp-block-paragraph">Enjoy!</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2025/05/27/il-crontab-non-funziona/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Debian: come specificare il PROXY per i processi CRON</title>
		<link>https://blog.smsoft.it/2021/06/29/debian-come-usare-il-proxy-per-processi-cron/</link>
					<comments>https://blog.smsoft.it/2021/06/29/debian-come-usare-il-proxy-per-processi-cron/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 29 Jun 2021 08:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[proxy]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=5007</guid>

					<description><![CDATA[Se la vostra linux-box necessita di proxy per la navigazione internet, solitamente i parametri vanno specificati nel file /etc/profile, ad esempio: export http_proxy="http://user:pass@10.10.10.10:3180/" export https_proxy="http://user:pass@10.10.10.10:3180/" export no_proxy="www.google.it" Questo file viene &#8220;letto&#8221; dal sistema al login, quindi gli utenti ssh avranno sicuramente impostato queste informazioni per la navigazione. Sul sistema Debian GNU/Linux, CRON supporta il modulo ... <a title="Debian: come specificare il PROXY per i processi CRON" class="read-more" href="https://blog.smsoft.it/2021/06/29/debian-come-usare-il-proxy-per-processi-cron/" aria-label="Per saperne di più su Debian: come specificare il PROXY per i processi CRON">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Se la vostra linux-box necessita di proxy per la navigazione internet, solitamente i parametri vanno specificati nel file <code><strong>/etc/profile</strong></code>, ad esempio:</p>



<pre class="wp-block-preformatted">export http_proxy="http://user:pass@10.10.10.10:3180/"
export https_proxy="http://user:pass@10.10.10.10:3180/"
export no_proxy="www.google.it"</pre>



<p class="wp-block-paragraph">Questo file viene &#8220;letto&#8221; dal sistema al login, quindi gli utenti <strong>ssh</strong> avranno sicuramente impostato queste informazioni per la navigazione. </p>



<p class="wp-block-paragraph">Sul sistema Debian GNU/Linux, CRON supporta il modulo pam_env e carica l&#8217;ambiente specificato da <strong>/etc/environment</strong> e <strong>/etc/security/pam_env.conf.</strong> Legge anche le informazioni sulla localizzazione da <strong>/etc/default/locale</strong>.</p>



<p class="wp-block-paragraph">Pertanto, se è necessario far &#8220;navigare&#8221; uno script richiamato da <strong>CRON</strong>, i parametri vanno inseriti anche  nel file <code><strong>/etc/environment</strong></code> Per evitare di dove gestire eventuali modifiche su  più file, consiglio di aggiungere in coda al file di profile la seguente riga dopo la definizione delle variabili relative al proxy:</p>



<pre class="wp-block-code"><code>if &#91; "<code>id -u</code>" -eq 0 ]; then
  printenv |grep -i proxy>/etc/environment
fi</code></pre>



<p class="wp-block-paragraph">Per le macchine <strong>più vecchie</strong>, questa procedura è particolarmente utile quando la variabile <strong>no_proxy</strong> viene impostata con una <strong>classe IP</strong>, perché dato che <strong>non è possibile</strong> usare la classica notazione <strong>10.10.10.10/24</strong> ma nel file di <strong>profile</strong> possiamo usare comandi bash, in quest&#8217;ultimo potremmo scrivere qualcosa tipo:</p>



<pre class="wp-block-code"><code>export no_proxy="<code>echo 10.10.10.{1..255},</code> <code>echo 10.12.12.{1..255},</code> www.google.com"</code></pre>



<p class="wp-block-paragraph">ed automaticamente troveremmo tutti gli IP, delle classi indicate, riportati per esteso nel file <strong>environment</strong>.<br></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2021/06/29/debian-come-usare-il-proxy-per-processi-cron/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Linux: Avviare un&#8217;applicazione Desktop da CRON</title>
		<link>https://blog.smsoft.it/2021/04/20/linux-avviare-unapplicazione-desktop-da-cron/</link>
					<comments>https://blog.smsoft.it/2021/04/20/linux-avviare-unapplicazione-desktop-da-cron/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 20 Apr 2021 08:30:00 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[logger]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=4932</guid>

					<description><![CDATA[Cron consente di eseguire operazioni (lanciare applicazioni) a determinati orari. Questo avviene via CLI, ma se bisogna avviare un&#8217;applicazione Desktop, occorre inserire nella riga di CRON anche questa informazione. Innanzitutto recuperiamo il contenuto della variabile DISPLAY con: echo $DISPLAY ed ipotizziamo ci indichi come display :0 A questo punto, vogliamo avviare un&#8217;applicazione java in /home/smsoft/public/app.jar ... <a title="Linux: Avviare un&#8217;applicazione Desktop da CRON" class="read-more" href="https://blog.smsoft.it/2021/04/20/linux-avviare-unapplicazione-desktop-da-cron/" aria-label="Per saperne di più su Linux: Avviare un&#8217;applicazione Desktop da CRON">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Cron consente di eseguire operazioni (lanciare applicazioni) a determinati orari. Questo avviene via CLI, ma se bisogna avviare un&#8217;applicazione Desktop, occorre inserire nella riga di <strong>CRON</strong> anche questa informazione.</p>



<p class="wp-block-paragraph">Innanzitutto recuperiamo il contenuto della variabile <strong>DISPLAY</strong> con:</p>



<pre class="wp-block-preformatted">echo $DISPLAY</pre>



<p class="wp-block-paragraph">ed ipotizziamo ci indichi come display <strong>:0</strong> </p>



<p class="wp-block-paragraph">A questo punto, vogliamo avviare un&#8217;applicazione java in <strong>/home/smsoft/public/app.jar</strong> ogni ora, possiamo scrivere nel crontab utente (richiamabile con <strong>crontab -e</strong>):</p>



<pre class="wp-block-preformatted">0 * * * * cd /home/smsoft/public; DISPLAY=:0 /usb/bin/java -jar app.jar</pre>



<p class="wp-block-paragraph">Qualora non funzionasse qualcosa, possiamo farci aggiungere dei log nel file syslog, es:</p>



<pre class="wp-block-preformatted">0 * * * * cd /home/smsoft/public; DISPLAY=:0 /usb/bin/java -jar app.jar 2>&amp;1 |/usr/bin/logger -t CRONAPP</pre>



<p class="wp-block-paragraph">e poi cercare le righe con l&#8217;etichetta <strong>CRONAPP</strong></p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2021/04/20/linux-avviare-unapplicazione-desktop-da-cron/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Eseguire più comandi in modo sequenziale con CRON</title>
		<link>https://blog.smsoft.it/2012/10/30/eseguire-piu-comandi-in-modo-sequenziale-con-cron/</link>
					<comments>https://blog.smsoft.it/2012/10/30/eseguire-piu-comandi-in-modo-sequenziale-con-cron/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 30 Oct 2012 09:00:56 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[crontab]]></category>
		<guid isPermaLink="false">http://blog.smsoft.it/?p=2078</guid>

					<description><![CDATA[Cron è un sistema molto utilizzato su Linux che consente di eseguire comandi a determinati orari (o eventi). Le regole vanno inserite nel file /etc/crontab oppure in altri files affinché i comandi vengano eseguiti in momenti particolari (ogni giorno, ogni settimana, ogni mese) o ancora se si vogliono raggruppare per tipologia di software utilizzato. I ... <a title="Eseguire più comandi in modo sequenziale con CRON" class="read-more" href="https://blog.smsoft.it/2012/10/30/eseguire-piu-comandi-in-modo-sequenziale-con-cron/" aria-label="Per saperne di più su Eseguire più comandi in modo sequenziale con CRON">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[<p>Cron è un sistema molto utilizzato su Linux che consente di eseguire comandi a determinati orari (o eventi).<br />
Le regole vanno inserite nel file <strong>/etc/crontab</strong> oppure in altri files affinché i comandi vengano eseguiti in momenti particolari (ogni giorno, ogni settimana, ogni mese) o ancora se si vogliono raggruppare per tipologia di software utilizzato.<br />
<span id="more-2078"></span><br />
I campi del file di crontab sono.</p>
<table border="2px">
<tbody>
<tr valign="middle">
<td rowspan="1" colspan="1" valign="top" bgcolor="#C0C0C0" width="73px">
<p>#</p>
</td>
<td valign="top" bgcolor="#C0C0C0" width="49px">1</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#C0C0C0" width="35px">2</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#C0C0C0" width="82px">3</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#C0C0C0" width="85px">4</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#C0C0C0" width="86px">5</td>
<td valign="top" bgcolor="#C0C0C0" width="161px">6</td>
</tr>
<tr valign="middle">
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="73px">&nbsp;</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="49px">Minuto</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="35px">Ora</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="82px">Giorno del mese</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="85px">Mese</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="86px">Giorno della settimana</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="161px">Comando</td>
</tr>
<tr valign="middle">
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="73px">Valori</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="49px">0-59</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="35px">0-23</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="82px">1-31</td>
<td class="whs24" rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="85px">1-12</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="86px">0-6<br />
da domenica(0) a sabato (6)</td>
<td rowspan="1" colspan="1" valign="top" bgcolor="#EEEEEE" width="161px">&nbsp;</td>
</tr>
</tbody>
</table>
<p>Possiamo editare il nostro <strong>/etc/crontab</strong> ed inserire:</p><pre class="urvanov-syntax-highlighter-plain-tag">02 4 * * * /path/to/command1</pre><p>In questo caso, alle 4:02 di ogni giorno verrà eseguito il comando /path/to/command1.</p>
<p>Nel caso fosse necessario avviare più comandi in modo sequenziale, si possono usare diversi sistemi: avviare comunque il secondo comando dopo il primo, avviare il secondo comando se il primo è stato completato correttamente, avviare il secondo comando se il primo è terminato con un errore:</p>
<p>usando <strong>;</strong> command2 verrà eseguito dopo che command1 sarà stato completato</p><pre class="urvanov-syntax-highlighter-plain-tag">02 4 * * * /path/to/command1 ; /path/to/command2</pre><p></p>
<p>usando <strong>&amp;&amp;</strong> command2 verrà eseguito dopo command1 se quest&#8217;ultimo sarà stato eseguito correttamente</p><pre class="urvanov-syntax-highlighter-plain-tag">02 4 * * * /path/to/command1 && /path/to/command2</pre><p></p>
<p>usando <strong>||</strong> command2 verrà eseguito dopo command1 se quest&#8217;ultimo avrà prodotto un errore durante l&#8217;esecuzione.</p><pre class="urvanov-syntax-highlighter-plain-tag">02 4 * * * /path/to/command1 || /path/to/command2</pre><p></p>
<h2>Alcuni esempi</h2>
<p>Usando un riga tipo:</p><pre class="urvanov-syntax-highlighter-plain-tag">02 4 * * * /path/to/command1 1>/var/tmp/cron.log  2>/dev/null</pre><p>verranno salvati in <strong>/var/tmp/cron.log </strong>i messaggi che lo script restituisce e verranno scartati gli errori (<strong>/dev/null</strong>)</p>
<p>Usando un riga tipo:</p><pre class="urvanov-syntax-highlighter-plain-tag">02 4 * * * /path/to/command1 > /dev/null 2>&1</pre><p>tutti i messaggi (errore o di esecuzione) verranno scartati</p>
<p>Usando un riga tipo:</p><pre class="urvanov-syntax-highlighter-plain-tag">*/2 4 * * * /path/to/command1</pre><p>verrà eseguito command1 ogni due minuti dello&#8217;ora 4 (es 4:00, 4:02, 4:04, etc)</p>
<p>Usando un riga tipo:</p><pre class="urvanov-syntax-highlighter-plain-tag">2 4-6 * * * /path/to/command1</pre><p>verrà eseguito command1 alle 4:02, 5:02 e 6:02</p>
<p>Usando un riga tipo:</p><pre class="urvanov-syntax-highlighter-plain-tag">2 4,8 * * * /path/to/command1</pre><p>verrà eseguito command1 alle 4:02 ed alle 8:02</p>
<p>enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2012/10/30/eseguire-piu-comandi-in-modo-sequenziale-con-cron/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
