1 (edytowany przez kzn1990 2020-06-15 18:47:40)

Temat: Niedziałający skrypt z crona

Czesc,

Mam prosty skrypt napisany w .sh, który losuje mi DNS z listy i commituje je do configuracji:

#!/bin/sh

dns='1.1.1.1 8.8.8.8 9.9.9.9 176.103.130.130 208.67.222.222 84.200.69.80 8.26.56.26 91.239.100.100 156.154.70.1'
i=0

rand=$(/usr/bin/awk 'BEGIN{srand();print int(rand()*9)}')
/bin/sleep 1
rand2=$(/usr/bin/awk 'BEGIN{srand();print int(rand()*9)}')

for d in $dns; do
        if [ $i == $rand ]; then
                rand=$d
        elif [ $i == $rand2 ]; then
                rand2=$d
        fi
        i=$((i+1))
done

echo $rand $rand2
/sbin/uci set network.wan.dns="$rand $rand2"
/sbin/uci commit
/sbin/ifup wan

Chciałbym odpalać ten skrypt co kilka godzin, jednak skrypt odpalony z crona nie zmienia mi configu. Wpis w cronie

* * * * *    root    /usr/sbin/dns.sh > /tmp/dns

W logread widze ze cron startuje skrypt jednak nic sie nie dzieje

Mon Jun 15 19:43:00 2020 cron.info crond[7044]: USER root pid 7712 cmd root    /usr/sbin/dns.sh

Plik /tmp/dns rownież jest pusty a powinien zawierac wylosowane adresy ip z outputu (echo).
Jakieś pomysły o co może chodzić?

Ps. skrypt odpalany z "ręki" oczywiście działa dobrze.

2

Odp: Niedziałający skrypt z crona

Masz zły wpis w cronie. Nie ma pola na usera ("root"), czytaj: https://eko.one.pl/?p=openwrt-cron

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Niedziałający skrypt z crona

Lul, faktycznie, nie wyłapałem tego z logu, a było widać wink
Dzięki za pomoc cool