GNU Linux - CRON

Uživatelský avatar
pavel1tu
Příspěvky: 1951
Registrován: 26 říj 2017, 08:28
Reputation: 1
Bydliště: Trutnov
Kontaktovat uživatele:

GNU Linux - CRON

Příspěvek od pavel1tu » 22 čer 2019, 08:08

Ahoj lidi,

bojuji s tím jak CRONem spouštět na stroji PHP script.
Neřešil to někdo prosím,


děkuji

zkoušel jsem:

Kód: Vybrat vše

5 * * * * http://192.168.123.183/template/plugins/netAtmo/update/update.php
5 * * * * curl  http://192.168.123.183/template/plugins/netAtmo/update/update.php
5 * * * * /usr/bin/curl http://192.168.123.183/template/plugins/netAtmo/update/update.php
5 * * * * /usr/bin/curl --silent http://192.168.123.183/template/plugins/netAtmo/update/update.php

ještě přemýšlým přidat pevnou cestu na disk k souboru,
ale v budoucnu to chci pouštšt i na jiných serverech, tedy odkazem do netu.
Potřebuji to mít přímo v tabulce CRON, ze scriptu mi to chodí

PS: Převádím meteostanici na Meteotemplate.com, běhá to i na BananaPi (2x800MHz, 256k RAM, takový hodně odlehčený vlastní LAMP)
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

AstroMiK
Příspěvky: 404
Registrován: 08 pro 2017, 19:05
Reputation: 1

Re: GNU Linux - CRON

Příspěvek od AstroMiK » 22 čer 2019, 16:45

Já jsem to kdysi dělal podle týhle stránky a chodilo to bez problémů:
https://stackoverflow.com/questions/193 ... ve-to-wget

Takže příkaz pro CRON vypadal takhle:

Kód: Vybrat vše

  *   *   *   *    *     wget -O - https://www.xxx.yyy/skript.php >/dev/null

Uživatelský avatar
pavel1tu
Příspěvky: 1951
Registrován: 26 říj 2017, 08:28
Reputation: 1
Bydliště: Trutnov
Kontaktovat uživatele:

Re: GNU Linux - CRON

Příspěvek od pavel1tu » 22 čer 2019, 18:15

wget je ale downloader, musím kouknout do manuálu ale nemyslím že by ten php soubor i spustil ....
vyzkouším to a uvidím.

PS: ono mi to s CURL i PHP když přes ně spudtím jak lokální script tak vzdálený proběhne, ale cron hází permision chybu, mne nenapadlo, že cron nemá přístup k PHP a k WWW obsahu .... ani když to udělám pod root
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

AstroMiK
Příspěvky: 404
Registrován: 08 pro 2017, 19:05
Reputation: 1

Re: GNU Linux - CRON

Příspěvek od AstroMiK » 22 čer 2019, 20:32

... Samozřejmě, že wget musí skript na straně serveru spustit. Zpátky se stahuje až výsledek spuštěného skriptu.
(Kdyby to tak nebylo, tak by si mohl kdokoliv stáhnout zdrojáky z cizího serveru.)
Jak píšou na tom výše uvedeném odkazu, stahovaný obsah je možné okamžitě přesměrovat na /dev/null , takže se ani
ten stahovaný výsledek nebude ukládat do žádného souboru.

Zkusil jsem teď spustit skript přes CRON lokálně pomocí volání "php -f" a taky to funguje.

Kód: Vybrat vše

 *   *   *   *    *     php -f /home/astromik/web/skript.php >/dev/null

Skript má nastavený artribut spustitelnosti

Uživatelský avatar
pavel1tu
Příspěvky: 1951
Registrován: 26 říj 2017, 08:28
Reputation: 1
Bydliště: Trutnov
Kontaktovat uživatele:

Re: GNU Linux - CRON

Příspěvek od pavel1tu » 23 čer 2019, 20:26

Tak nevím,
já totiž ještě doplnil zabezpečení všech php souborů, které volám pro ukládání dat nebo import dat zadáním hesla "soubor.php?pass=heslo"
bez hesla se mi to rozeběhne, ale odpoví - Nemáš práva
s heslem ani ťuk

v UBUNTU mi chodí vše co jsem zkoušel já i ty - skoro vše
v ARMBIANu ne a ne a ne a ne

přesněji:

Kód: Vybrat vše

nefunguje
php -f /var/www/html/template/plugins/netAtmo/update/update.php

funguje ale nic neprovede - nezadáno heslo
cd /var/www/html/template/plugins/netAtmo/update/ &&  php -f /var/www/html/template/plugins/netAtmo/update/update.php

nefunguje "Could not open input file:"
cd /var/www/html/template/plugins/netAtmo/update/ &&  php -f /var/www/html/template/plugins/netAtmo/update/update.php?pass=heslo
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
pavel1tu
Příspěvky: 1951
Registrován: 26 říj 2017, 08:28
Reputation: 1
Bydliště: Trutnov
Kontaktovat uživatele:

Re: GNU Linux - CRON

Příspěvek od pavel1tu » 23 čer 2019, 21:06

Další pokrok - ARMBIAN má jinak strukturu a funkčnost CRONTAB

1) má jen 1 CRONTAB pro všechny uživatele a je umístěna nestandartně
2) musí se tam definovat pod jakým uživatelem se script spouští ...

pokrok, ale pořád mi to nefunguje s heslem, ještě testuji spouštění pod www-user nebo tak nějak
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
dzooky
Příspěvky: 117
Registrován: 03 úno 2018, 01:09
Reputation: 1
Bydliště: Fintice
Kontaktovat uživatele:

Re: GNU Linux - CRON

Příspěvek od dzooky » 23 čer 2019, 23:21

Zakladny problem, netusime co mas v tych php suboroch.
Ked to spustas pod rootom nemal by byt problem s pravami suborov.

Ked sa to tak snazim rozlusknut mam pocit, ze tie php subory si nakodil ty, mam dobry pocit?
neviem ako si na tom so znalostou php ale...

v php subore premenna $pass ti nebude fungovat
nebude fungovat ani $_POST["pass"] to je len ked to volas z prehliadaca
ak chces to volat z command line musis to mat inak
premenu ktoru jej podsuvas bude v $argv, pricom i je poradove cislo parametra od 1

teda ak volas /var/www/html/template/plugins/netAtmo/update/update.php?pass=heslo
tak vo vnutry heslo budes mat v premennej $argv[1] alebo na zaciatku urob $pass = $argv[1] a mas

trosku este nechapem naco robis cd /var/www/html/template/plugins/netAtmo/update/

Uživatelský avatar
pavel1tu
Příspěvky: 1951
Registrován: 26 říj 2017, 08:28
Reputation: 1
Bydliště: Trutnov
Kontaktovat uživatele:

Re: GNU Linux - CRON

Příspěvek od pavel1tu » 24 čer 2019, 06:30

chyba je u mne - sorry
chodí už to co psal AstroMik (loguje to každou hodinu), ale blbě jsem pochopil "EVERY"

5 * * * * - není každých 5 minut ale každou 5tou minutu v hodině
/5 * * * * - což někde radí nefunguje (je to i v manuálu, ale ARMBIAN to neakceptuje)

testnu zápis
0,5,10,15,20,25,30,35,40,45,50,55 * * * * - a uvidíme

PS: tak si udělejte další čárku - BLBEC je to ;)
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

KamilV
Příspěvky: 387
Registrován: 03 dub 2018, 15:27
Reputation: 1
Bydliště: Olomouc

Re: GNU Linux - CRON

Příspěvek od KamilV » 24 čer 2019, 12:31

V případě volání php v command line se parametry nezadávají za otazník (jako by tomu bylo v adresním řádku prohlížeče), ale oddělené mezerou, jako by to byly parametry libovolného jiného skriptu.

Ale nemyslím si, že heslo předané "getem" by vnášelo nějaké zabezpečení, je to spíš jen "pocit bezpečí".

Pokud v cronu nefunguje zápis "/5", ještě můžeš zkusit "*/5". Bohužel ty zápisy nejsou úplně standardizovány, např. na RPi funguje i "pseudočas" @reboot, který spustí skript po nastartování, ale ve specifikaci to vůbec není.

Uživatelský avatar
pavel1tu
Příspěvky: 1951
Registrován: 26 říj 2017, 08:28
Reputation: 1
Bydliště: Trutnov
Kontaktovat uživatele:

Re: GNU Linux - CRON

Příspěvek od pavel1tu » 24 čer 2019, 17:00

děkuji,

to pomohlo - jak CRON tak ta mezera - moc díky
i v 50 se má člověk pořád co učit ;), jen mi chybí ta angličtina, nás holt nutili "pa ruskomu"

PS: heslo je "plovoucí" a je to jak říkáš - pseudo-zabezpečení
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host