<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://forum.ubuntu-fr.org/extern.php?action=feed&amp;tid=1176791&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Forum Ubuntu-fr.org / problème de script avec cron]]></title>
		<link>http://forum.ubuntu-fr.org/viewtopic.php?id=1176791</link>
		<description><![CDATA[Les sujets les plus récents dans problème de script avec cron.]]></description>
		<lastBuildDate>Thu, 24 Jan 2013 04:47:44 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Réponse à&#160;:  problème de script avec cron]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12322821#p12322821</link>
			<description><![CDATA[<p>Par défaut cron n&#039;est chargé qu&#039;avec un minimum de variables d&#039;environnement (LOGNAME, HOME, SHELL et quelques autres pour la gestion du mail), il faut donc définir le PATH si l&#039;on n&#039;indique pas les chemins absolus des exécutables. <img src="http://forum.ubuntu-fr.org/img/smilies/wink.png" width="15" height="15" alt="wink" /><br />Il est aussi possible de définir d&#039;autres variables d&#039;environnement (par exemple DISPLAY si l&#039;on lance des programmes graphiques).</p><div class="codebox"><pre><code>PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DISPLAY=&quot;:0&quot;
# m h  dom mon dow   command
0 0 * * * ma_commande_du_path</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (nesthib)]]></author>
			<pubDate>Thu, 24 Jan 2013 04:47:44 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12322821#p12322821</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  problème de script avec cron]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12316491#p12316491</link>
			<description><![CDATA[<p>Je crois avoir trouvé. En mettant le chemin absolu de updatedd, ça fonctionne.</p><div class="codebox"><pre><code>/usr/local/bin/updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host}</code></pre></div><p>Donc une question, je pensais qu&#039;en exécutant le script avec cron on était dans le même environnement que celui de l’utilisateur ? Y a t il moyen que ce soit le cas.</p><p>Merci.</p>]]></description>
			<author><![CDATA[dummy@example.com (Graindorge)]]></author>
			<pubDate>Wed, 23 Jan 2013 15:36:10 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12316491#p12316491</guid>
		</item>
		<item>
			<title><![CDATA[problème de script avec cron]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12315181#p12315181</link>
			<description><![CDATA[<p>Bonjour,</p><p>J&#039;ai un DNS dynamique chez OVH (dynhost). J&#039;utilise un script qui va mettre à jour le dns avec l&#039;ip dynamique de mon router. Je l&#039;ai trouvé sur le net (<a href="http://lermit-informatique.blogspot.be/2009/08/ovh-le-dynhost-de-ovh-et-updatedd.html">ici</a>) et je l&#039;ai adapté à ma situation.</p><p>voila le script :</p><div class="codebox"><pre class="vscroll"><code> #!/bin/bash

## CONFIGURATION ##

# Connection to OVH DynHost
username=xxxxx
password=yyyyyy
host=host.be

# How to log
# 1 = true, 0 = false
log_change=1
log_no_change=0
log_file=/var/log/dynhost.log

# File with old IP
old_ip_file=/var/cache/ip_old

# To avoid error &quot;file not found&quot;
touch ${old_ip_file}
touch ${log_file}


# Get Public IP
ip=`w3m -dump http://xxxxxx.xx/ | awk -F&#039;: &#039; &#039;/IP/ { print $2 }&#039;`

# Get Old Public IP
ip_old=`cat ${old_ip_file}`

# Test if IPs are equal
if [ &quot;${ip}&quot; = &quot;${ip_old}&quot; ]
then
	if [ &quot;${log_no_change}&quot; = &quot;1&quot; ]
	then
		echo &quot;`date`: No IP change was found (${ip})&quot; &gt;&gt; ${log_file}
	fi
else
	echo ${ip} &gt; ${old_ip_file}
	if [ &quot;${log_change}&quot; = &quot;1&quot; ]
	then
		echo &quot;`date`: IP has change (Old : ${ip_old}, New : ${ip})&quot; &gt;&gt; ${log_file}
		updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host} &gt;&gt; ${log_file}
	else
		updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host}
	fi
fi</code></pre></div><p>Le script fonctionne correctement quand je le lance manuellement à la ligne de commande. Voila le contenu de <strong>/var/log/dynhost.log</strong> après une mise à jour réussie de l&#039;ip chez ovh : </p><div class="codebox"><pre><code>mercredi 23 janvier 2013, 14:53:48 (UTC+0100): IP has change (Old : 213.251.165.203, New : 213.219.123.102)
host.be: Update good and successful, IP updated.</code></pre></div><p>Mais quand je veux exécuter cette tache avec cron ça ne fonctionne pas. Le script semble s&#039;exécuter mais en &quot;sautant&quot; la mise à jour chez ovh avec l&#039;appel <strong>updatedd</strong>. Voici le contenu de <strong>/var/log/dynhost.log</strong> après une mise à jour ratée de l&#039;ip chez ovh : </p><div class="codebox"><pre><code>mercredi 23 janvier 2013, 14:53:48 (UTC+0100): IP has change (Old : 213.251.165.203, New : 213.219.123.102)</code></pre></div><p>Il manque le message de retour de <strong>updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host} &gt;&gt; ${log_file}</strong></p><br /><p>Voila la ligne que j&#039;ai rajouté dans cron.</p><div class="codebox"><pre><code>*/15 * * * * /root/scripts/updateDynhost.sh</code></pre></div><br /><p>Quelqu&#039;un a une idée ? Parce que là moi je vois vraiment pas.</p><br /><p>Merci.</p>]]></description>
			<author><![CDATA[dummy@example.com (Graindorge)]]></author>
			<pubDate>Wed, 23 Jan 2013 14:05:19 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12315181#p12315181</guid>
		</item>
	</channel>
</rss>
