Strona 1 z 1

Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 10:42
autor: zukers
Hej,
chciałbym dodać krótki tekst do sysloga w każdym wykonywanym kroku crontaba ale wpisuje mi do całą komendę, mam coś takiego:

Kod: Zaznacz cały

28 10 * * * sudo ifconfig wlan0 down | logger -t WiFi_Down
30 10 * * * sudo ifconfig wlan0 up | logger -t WiFi_UP
więc chciałbym tylko tekst w syslogu "Wifi_Down" WiFi_UP, a mam coś takiego:

Kod: Zaznacz cały

Jan 30 10:30:01 raspberrypi CRON[4644]: (root) CMD (sudo ifconfig wlan0 up | logger -t WiFi_UP)

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 11:44
autor: jacekalex
Do crontaba nie dodajesz sudo, bo cron chodzi z prawami roota.
Czyli dodajesz do tabeli crontab roota.
Najlepiej do pliku w folderze

Kod: Zaznacz cały

/etc/cron.d/
Poza tym ifconfig nic nie wyświetla, tylko wykonuje polecenie w tym przypadku.

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 12:13
autor: zukers
ja wiem co robi to polecenie ifconfig, polecenie mi działa tzn włączy i wyłącza WiFi bez względu czy jest z sudo czy nie - więc nie tu jest problem,
Jak zapisać ten krótki tekst "WiFi_Down" oraz "WiFi_UP" w syslogu po wykonaniu każdego z tych dwóch poleceń?

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 12:31
autor: arecki
RTFM

Kod: Zaznacz cały

logger WiFi_Up `ifconfig wlan0 up`

Kod: Zaznacz cały

logger WiFi_Down `ifconfig wlan0 down`

Kod: Zaznacz cały

logger -t TWÓJ_TAG TWOJA_WIADOMOŚĆ `TWOJA KOMENDA`

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 15:08
autor: zukers
nie za bardzo nie dość że dalej cała komenda jest w syslogu, to WiFi nie zostało wyłączone:
Jan 30 15:05:01 raspberrypi CRON[14244]: (root) CMD (logger WiFi_Down 'ifconfig wlan0 down')
Jan 30 15:05:01 raspberrypi root: WiFi_Down ifconfig wlan0 down

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 17:36
autor: arecki
Bo źle to przepisujesz.
Skopiuj i wklej lub jak nie potrafisz tego opanować to przynajmniej odróżniaj apostrof od grawisa
'
to nie to samo co
`

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 20:02
autor: zukers
poprawiłem:
58 19 * * * logger -t WiFi_Down `ifconfig wlan0 down`
00 20 * * * logger -t WiFi_UP `ifconfig wlan0 up`
dalej nic to nie daje, tzn WiFi się nie wyłącza a w syslogu zapisuje się cała komenda:

Jan 30 19:58:01 raspberrypi CRON[16201]: (root) CMD (logger -t WiFi_Down`ifconfig wlan0 down`)

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 20:39
autor: arecki
Bo dalej źle przepisujesz.
Wpisz sobie w terminalu i zobacz czy działa.

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 20:52
autor: zukers
wszystko wpisuje w terminalu:
pi@raspberrypi:~ $ logger -t WiFi_UP `ifconfig wlan0 up`
SIOCSIFFLAGS: Operation not permitted

pi@raspberrypi:~ $ sudo logger -t WiFi_UP `ifconfig wlan0 up`
SIOCSIFFLAGS: Operation not permitted

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 21:17
autor: arecki
I teraz porównaj to z tym co napisałem.

Kod: Zaznacz cały

logger -t TWÓJ_TAG TWOJA_WIADOMOŚĆ `TWOJA KOMENDA`

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 21:58
autor: zukers
wiesz co nie jarze o co Ci chodzi napisz mi dokładnie jak mam wpisać, bo to co mi podałeś wcześniej wpisałem i nie działa.

Re: Dodanie tekstu do syslog w crontabie

: 30 sty 2022, 22:12
autor: arecki
Wpisz w terminalu jako root:

Kod: Zaznacz cały

logger WiFi_UP `ifconfig wlan0 up`
, skontroluj czy interfejs został podniesiony oraz czy informacja trafiła do logów i potem to samo zrób z użyciem crona.

Re: Dodanie tekstu do syslog w crontabie

: 31 sty 2022, 01:11
autor: jacekalex
Próbowałeś:

Kod: Zaznacz cały

ifconfig wlan0 down && "logger wifi_down" || logger "nie udało się wifi_down"

Kod: Zaznacz cały

ifconfig wlan0 up  &&  logger "wifi_up"  || logger "nie udało się wifi_up"
U mnie dokładnie w ten sposób działa grzecznie z terminala.

W logu zostało:

Kod: Zaznacz cały

2022 Jan 31 01:12:45 localhost root: nie udało się wifi_up
2022 Jan 31 01:12:58 localhost root: wifi_up
Możesz mieć kłopot z powyższym w CRONie, bo CRON troszkę inaczej używa powłoki, aniżeli terminal basha.

Naucz się na przyszłość odpowiedzi funkcji czyli 0 -sukces, 1 -nie udało się.
Tu masz wyjaśnienia tego mechanizmu:
https://wiki.gentoo.org/wiki/Bash#Logical_operators
https://unix.stackexchange.com/question ... -operators

Jest też 255 innych numerów funkcji specyficznych dla różnych programów,
ale te dwa są podstawowe dla prawie każdego polecenia powłoki.
https://www.cyberciti.biz/faq/linux-bas ... usin-bash/
:pt36:


Pozdro
:craz:

Re: Dodanie tekstu do syslog w crontabie

: 31 sty 2022, 17:58
autor: zukers
arecki pisze: 30 sty 2022, 22:12 Wpisz w terminalu jako root:

Kod: Zaznacz cały

logger WiFi_UP `ifconfig wlan0 up`
, skontroluj czy interfejs został podniesiony oraz czy informacja trafiła do logów i potem to samo zrób z użyciem crona.
ok chyba jest OK, musiałem dać tylko w crantabie sudo inaczej nie wyłączało anie nie włączało mi wifi, tak teraz mam:

Kod: Zaznacz cały

Jan 31 18:11:01 raspberrypi CRON[19962]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 18:11:01 raspberrypi root: WiFi_Down
Jan 31 18:17:01 raspberrypi CRON[20130]: (root) CMD (logger WiFi_UP `sudo ifconfig wlan0 up`)
Jan 31 18:17:01 raspberrypi kernel: [165669.441873] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
Jan 31 18:17:01 raspberrypi root: WiFi_UP

mam osobą linijkę o włączeniu i wyłączeniu i gitara. dzięki.

Re: Dodanie tekstu do syslog w crontabie

: 01 lut 2022, 17:51
autor: zukers
czemu po wykonania polecenia crona o godzinei 23:00, syslog zasypywany jest przez kila minut jeszcze takimi wpisami:

Kod: Zaznacz cały

Jan 31 23:01:01 raspberrypi CRON[21077]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:01:01 raspberrypi root: WiFi_Down
Jan 31 23:02:01 raspberrypi CRON[21082]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:02:01 raspberrypi root: WiFi_Down
Jan 31 23:03:01 raspberrypi CRON[21087]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:03:01 raspberrypi root: WiFi_Down
Jan 31 23:04:01 raspberrypi CRON[21092]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:04:01 raspberrypi root: WiFi_Down
Jan 31 23:05:01 raspberrypi CRON[21101]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:05:01 raspberrypi root: WiFi_Down
Jan 31 23:06:01 raspberrypi CRON[21108]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:06:01 raspberrypi root: WiFi_Down
Jan 31 23:07:01 raspberrypi CRON[21115]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:07:01 raspberrypi root: WiFi_Down
Jan 31 23:08:01 raspberrypi CRON[21120]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:08:01 raspberrypi root: WiFi_Down
Jan 31 23:09:01 raspberrypi CRON[21125]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:09:01 raspberrypi root: WiFi_Down
Jan 31 23:10:02 raspberrypi CRON[21132]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:10:02 raspberrypi root: WiFi_Down
Jan 31 23:11:01 raspberrypi CRON[21138]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:11:01 raspberrypi root: WiFi_Down
Jan 31 23:12:01 raspberrypi CRON[21145]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:12:01 raspberrypi root: WiFi_Down
Jan 31 23:13:01 raspberrypi CRON[21150]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:13:01 raspberrypi root: WiFi_Down
Jan 31 23:14:01 raspberrypi CRON[21156]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:14:01 raspberrypi root: WiFi_Down
Jan 31 23:15:01 raspberrypi CRON[21162]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:15:01 raspberrypi root: WiFi_Down
Jan 31 23:16:01 raspberrypi CRON[21169]: (root) CMD (logger WiFi_Down `sudo ifconfig wlan0 down`)
Jan 31 23:16:01 raspberrypi root: WiFi_Down