Fórum Root.cz

Hlavní témata => Server => Téma založeno: veskotskujehnusne 10. 01. 2022, 11:21:33

Název: Odeslání přes /dev/udp/ip/port nefunguje v Cronu
Přispěvatel: veskotskujehnusne 10. 01. 2022, 11:21:33
Ahoj, trochu jsem se sekl, snad někoho něco napadne.

Mám container, v něm funguje:

Kód: [Vybrat]
/bin/echo -n "text" > /dev/udp/ip/port
Ve chvíli, kdy to dám do cronu, nic to neodešle.

Mám otestované, že
Kód: [Vybrat]
/bin/echo -n "text" > /path/filefunguje dle očekávání.

Děkuji
Název: Re:/dev/udp/ip/port
Přispěvatel: alex6bbc 10. 01. 2022, 11:30:49
a pustil sis nejaky protikus, ktery na tom udp portu naslouchal prichozi komunikaci?
Název: Re:Odeslání přes /dev/udp/ip/port nefunguje v Cronu
Přispěvatel: Martin Mlynář 10. 01. 2022, 11:41:42
Kód: [Vybrat]
/dev/udp/ip/port je hack bashe. Nebezi ti nahodou cron s jinym shellem? jako jen sh?
Název: Re:Odeslání přes /dev/udp/ip/port nefunguje v Cronu
Přispěvatel: Michal Kubeček 10. 01. 2022, 13:11:11
/dev/udp/ip/port je hack bashe. Nebezi ti nahodou cron s jinym shellem? jako jen sh?
Cron z definice příkazy v cron tabulce spouští pomocí /bin/sh (ale lze to snadno obejít tím, že se tam dá cesta ke skriptu, který má explicitní #/bin/bash). To je sice ve většině distribucí link na bash, ale bash má na druhou stranu záludnou featuru, že pokud je spuštěn jako sh, potlačí část svých rozšíření, aby lépe imitoval klasický Bourne shell. (Nevím z hlavy, jestli zrovna i tohle.)

Co se týká dotazu, doporučil bych na podobné nestandardní featury nespoléhat a použít explicitně socat nebo netcat.
Název: Re:Odeslání přes /dev/udp/ip/port nefunguje v Cronu
Přispěvatel: veskotskujehnusne 10. 01. 2022, 14:01:52
Všem díky, já tu IMG nakonec rozšířil o python a udělal to v něm, to bez problému funguje.  ;D
Název: Re:Odeslání přes /dev/udp/ip/port nefunguje v Cronu
Přispěvatel: SB 11. 01. 2022, 15:01:48
Tak to je kvalitní řešení...
Název: Re:Odeslání přes /dev/udp/ip/port nefunguje v Cronu
Přispěvatel: veskotskujehnusne 12. 01. 2022, 12:43:17
Image má 55Mb, takže si rád nechám vysvětlit, co je na tom špatně.  ;)

Tak to je kvalitní řešení...