Autor | Zpráva | ||
---|---|---|---|
anonym123 Profil * |
#1 · Zasláno: 8. 10. 2014, 11:08:46
Zdravím,
je možné na debianu spuštět CRONem nějakou www stránku? Konkrétně mi jde o spouštění synchronizace stránky s Active Directory. Vše funguje, ale potřebuji spouštět script automaticky. Zkoušel jsem editovat crontable na debianu, vložil jsem záznam * * * * * /usr/bin/wget http://site/tool/index/ ale nefunguje mi to. když zkusím přímo ze serveru spustit příkaz /usr/bin/wget http://site/tool/index/ wyhodí mi to hlášku 401 authorization required. Dokáže někdo poradit? Asi by bylo jednodušší spouštět přímo php soubor, ale spíš bych potřeboval spouštět adresu ve tvaru uvedeném výše, pokud to vůbec jde. díky za odpovědi. |
||
Joker Profil |
#2 · Zasláno: 8. 10. 2014, 11:26:32
anonym123:
Tak jedna možnost je, že server skutečně vyžaduje ověření (v tom případě asi přihlašovací údaje do domény). Druhá možnost je, že je problém k té cestě na adresář. V tom případě server zobrazí definovaný výchozí soubor, když není výchozí soubor, seznam souborů v adresáři a když je to na serveru zakázané (což často je), právě chybu 401. Ještě upozornění, takhle definovaná CRON úloha se bude spouštět neustále každou minutu. |
||
juriad Profil |
#3 · Zasláno: 8. 10. 2014, 11:26:47
anonym123:
Ta stranka vyžaduje přihlášení, které musíš poslat spolu s požadavkem. Napiš si nějaký shellový skript, kterým budeš tu stránku volat. Místo wgetu je možná lepší použít curl. Ve Firefoxu ve Firebugu na kartě Síť si po navštívení té stránky můžeš celý příkaz pro curl vygenerovat (pravé myšítko, kopírovat cURL); pak se bude skript tvářit přesně jako prohlížeč. Samozřejmě nesmíš být před tím v prohlížeči přihlášený, aby se neposílalo nějaké SESSION_ID, které později nebude existovat. Jakmile pak ten skript odladíš v terminálu, bude fungovat i v crontabu. Ukázka: curl 'http://diskuse.jakpsatweb.cz/?action=vthread&forum=31&topic=159444' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.5' -H 'Cache-Control: max-age=0' -H 'Connection: keep-alive' -H 'Cookie: ***tajne***' -H 'Host: diskuse.jakpsatweb.cz' -H 'Referer: Diskuse JPW' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0' |
||
Joker Profil |
#4 · Zasláno: 8. 10. 2014, 11:28:44
juriad:
Nestačí k wget přidat --user a --password ?
|
||
anonym123 Profil * |
#5 · Zasláno: 8. 10. 2014, 11:33:46 · Upravil/a: anonym123
Joker:
co se týče intervalu spouštění, je to zatím nastavené právě na každou minutu. Až mi to bude fungovat podle očekávání, změním to na jednou týdně v nočních hodinách, to problém není. juriad: bohužel, Firefox je korporátně zakázaný, takže tady mi to nejspíš moc nepomůže... I tak díky. Joker: hmm, ani tak... přidal jsem za wget --user=USER --password=PASSWORD a stejně mě nechce pustit ... a nefunguje ani --http-user nebo --proxy-user
|
||
anonym123 Profil * |
#6 · Zasláno: 8. 10. 2014, 14:29:32
tak jen pokud by to někoho zajímalo, nepodařilo se mi na to přijít... Zkoušel jsem různé nastavení ověření na proxy atd, ale nedostal jse se o moc dál. Nakonec jsem to vyřešil přes klasické php
* * * * * php /var/www/blabla/file.php Je to sice trochu práce navíc, ale na druhou stranu to má i pár výhod.... Takže tak :) Díky všem za snahu
|
||
Časová prodleva: 10 let
|
0