Rozumím těmto argumentům, aktuálně mám nastaveno, že chybuvý výstup je v cronu prázdný, tak snad je to OK. Ručně spouštět nepotřebuji. No, je to script na hraní, jehož účelem je prostě poslat ip adresu, na kterou se můžu připojit. Jsou ale i osvědčené jiné metody (dynamické dns), které jsou standardizované, jen jsem chtěl to vyzkoušet jinak, třeba to bude hodit někomu, kdo nemá možnost použít dynamické dns. Zaregistroval jsem se na noip.com a vyzkouším, jestli je to lepší, nežli mé řešení, tak svůj skript smažu. Ve skriptu nemuseli být nakonec ty cesty k těm programům, je funkční i bez nich, proto jsem je odstranil.
Aktuální funkční (u mne) konfigurace
#!/bin/sh
# change directory to local turris git repository
cd /mnt/sdcard/public-ipv4-turris/
#current public ipv4 address
#/usr/bin/
ip addr show br-wan | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | head -n 1 1> /mnt/sdcard/public-ipv4-turris/ipv4.txt || wget http://ipinfo.io/ip -qO - 1> /mnt/sdcard/public-ipv4-turris/ipv4.txt || curl ifconfig.co 1> /mnt/sdcard/public-ipv4-turris/ipv4.txt || curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//' 1> /mnt/sdcard/public-ipv4-turris/ipv4.txt
#last run log
date > /tmp/public.ipv4.log
#remote upload ipv4 changes
git init 2>/dev/null
git add /mnt/sdcard/public-ipv4-turris/* 2>/dev/null
git commit -m "$(date)" 2>/dev/null
git ls-files --deleted | xargs git rm 2> /dev/null
git push -u origin master 2>/dev/null || /usr/bin/git pull --no-edit
exit 0
Cron jsem si nastavil logování chyb do souboru v /tmp a nastavil jsem si to na 2 minuty. Log je čistý, jenom když proběhne git pull, tak mi zapíše zprávu do souboru /tmp/public.ipv4.log.cron, což tak mám schválně.
*/02 * * * * root cd /mnt/sdcard/public-ipv4-turris && sh /mnt/sdcard/public-ipv4-turris/public_ipv4.sh 2>>/tmp/public.ipv4.log.cron
Nekamentujte mne, že to není přesně podle vašich představ. IP adresa se primárně zjišťuje interně z rozhraní, u ostatních by to takto nefungovalo, protože budou mít jiný název rozhraní, nebo tam mohou mít lokální adresu. V případě, když selže zjištění adesy, tak se zjišťuje z několika zdrojů přes internet. Rád se ale přiučím.