Wpis z mikrobloga

#linux #programista15k #bash

Dlaczego to mi nie działa? Skrypt wykonany ręcznie robi to co powinien. Skrypt wywołany z crona nic nie robi oprócz wrzucenia "test" do pliku test.log :(
Wpis w CRON:

* * * * * /root/skrypty/dhcp.sh &> /dev/null
Plik dhcp.sh:

ping -w 2 -c 1 192.168.223.1 &> /dev/null && echo success || dhclient wlx74f06d1ad610 -v
echo test >> /root/skrypty/test.log

Co chcę osiągnąć: jeśli nie można spingować 192.168.223.1 to wykonaj dhclient wlx74f06d1ad610 -v. Ten skrypt, uruchamiany poprzez ./dhcp.sh działa jak należy
  • 15
@spidero: Zrobiłem taką zmianę w cron:

* * * * * /root/skrypty/dhcp.sh >> /root/skrypty/dhcp.log
W efekcie plik dhcp.log:

success
PING 192.168.223.1 (192.168.223.1) 56(84) bytes of data.

--- 192.168.223.1 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1028ms

Czyli ten sam skrypt, wywołany z konsoli działa tak, że zwraca informację - nie mogę spingować, wykonuję dhclient wlx74f06d1ad610 -v. A jak wywołam z crona, to zwraca informację: mogę pingować,
taki wpis:

* * * * * /bin/bash /root/skrypty/dhcp.sh >> /root/skrypty/dhcp.log

powoduje utworzenie dhcp.log, ale pustego


@MamByleJakiNick: nie chce mi się czytać wpisu za bardzo ale raczej nie powinieneś robić druciarstwa z klientem dhcp w cronie
@bruuh: Dodałem tą linijkę, nic nie pomogło.
@BoKoR: @Kryspin013: @MlodyWilk: Stan aktualny, wpis w cron:

* * * * * /bin/bash /root/skrypty/dhcp.sh >> /root/skrypty/dhcp.log
Skrypt:

#!/bin/bash
/usr/bin/ping -w 2 -c 1 192.168.223.1 &> /dev/null && /usr/bin/echo success || /usr/sbin/dhclient wlx74f06d1ad610 -v

Crontab jest tak ograniczony że to nie działa, czy o co tu chodzi? (°°
@Kryspin013: Właśnie z wpasupplicat korzystam, wiesz może jak mógłbym to optymalnie zrobić? Obecnie komendą

> wpa
supplicant -D wext -i wlx74f06d1ad610 -c /etc/network/wpa.conf
Łączę się po wifi, ale muszę jeszcze użyć komendy dhclient żeby IP pobrało
Łączę się po wifi, ale muszę jeszcze użyć komendy dhclient żeby IP pobrało


@MamByleJakiNick: A to, że netplan nie ogarnia wifi bo żaden z menadżerów sieciowych nie ogarnia i tak naprawdę wszystkie korzystają z wpasupplicant pod spodem - np NetworkManager tak robi.

Jak czeoś nie ogarniasz to w pierwszej kolejności najlepiej sprawdź sobie na archwiki:
https://wiki.archlinux.org/title/wpa_supplicant#At_boot_(systemd)
https://wiki.archlinux.org/title/Dhcpcd#10-wpa_supplicant
To tylko przykłady.

Tu masz np wiki debiana jak to ustaiwić na samym
@Kryspin013: To, że to druciarstwo to wiem, jakoś działa, ale niewiadomo jak długo. Klient DHCP odpalany co minutę, jeśli nie może spingować adresu ( ͡° ͜ʖ ͡°). Posiedzę nad tymi linkami co podesłałeś i pokombinuję, lepiej zrobić w miarę profesjonalnie niż aby działało