Fórum Root.cz

Hlavní témata => Software => Téma založeno: doga312 25. 03. 2017, 01:33:56

Název: crontab nespustí bash skript
Přispěvatel: doga312 25. 03. 2017, 01:33:56
Ahoj,
nedávno jsem tu řešil bash skript pro zálohování pomocí rsyncu ale potvora se nechce spouštět.
Crontab:
Kód: [Vybrat]
0 1 * * * /home/user/.skript/Zal_rsync_denKde je chyba?
Dík za pomoc ;)
Název: Re:crontab nespustí bash skript
Přispěvatel: asdf123 25. 03. 2017, 03:07:25
Ahoj,
nedávno jsem tu řešil bash skript pro zálohování pomocí rsyncu ale potvora se nechce spouštět.
Crontab:
Kód: [Vybrat]
0 1 * * * /home/user/.skript/Zal_rsync_denKde je chyba?
Dík za pomoc ;)
co tak sa pozriet do logu? :) ale prva chyba bude asi to ze to nekontrolujes o jednej rano, vtedy mas totiz nastavene pustanie scriptu :) 0ta minuta prvej hodiny kazdeho dna v mesiaci, kazdeho mesiaca v roku
Název: Re:crontab nespustí bash skript
Přispěvatel: koss43 25. 03. 2017, 05:54:08
Může to být víc věcí, například máš ve jméně skriptu tečku (skript.sh) a některé verze cronu (né kronu, ale run-parts, který pouští cron.daily) vykazují chybu, že neumí pracovat s tečkama a tuším pomlčkama. Nemusí ti běžet služba cron (nemáš jí nainstalovanou, spadla, kdo ví). Tvůj skript nemusí mít práva na spouštění.

A hlavně, tvůj skript možná nevolá příkazy s plnou cestou, třeba /bin/ls, ale používá jen ls, přičemž cron standardní cesty běžně nastavené nemívá, pokud v crontabu nemáš vydefinovanou proměnou PATH, nebo na začátku skriptu - BTW nejčastější chyba.

Další věc je ta, že pokud chceš skript pouštět denně, spíše než v crontabu by měl být v /etc/cron.daily.

Může to být milión věcí, zkus prozkoumat syslog v čase kdy se má cron spouštět.
Název: Re:crontab nespustí bash skript
Přispěvatel: Tuxik 25. 03. 2017, 06:14:48
Asi bych se nejdřív zaměřil na exec bit (chmod x), zkontroloval bych, jestli je na začátku skriptu #!/bin/bash a potom bych se ještě mrknul, co to máš za cron a jestli ti tam náhodou nechybí uživatel, tedy záznam například

Kód: [Vybrat]
0 1 * * * bck_user /home/user/.skript/Zal_rsync_den
Název: Re:crontab nespustí bash skript
Přispěvatel: Filip Jirsák 25. 03. 2017, 08:36:09
Jako prvních bych se snažil zjistit, zda se skript vůbec nespustí, nebo se spustí ale dojde k chybě při jeho provádění. Např. bych si na začátek skriptu nechal vytvořit nějaký soubor. Dále si zkontrolujte, že máte správně nastavené odesílání e-mailů z cronu, že ten skript existuje a je spustitelný. Některé verze cronu také vyžadují, aby i poslední řádek crontabu byl zakončený odřádkováním (na konci souboru tedy musí být prázdný řádek).
Název: Re:crontab nespustí bash skript
Přispěvatel: to_je_jedno 25. 03. 2017, 09:03:58
exclude file musis dat s absolutni cestou.
Název: Re:crontab nespustí bash skript
Přispěvatel: JardaP . 25. 03. 2017, 09:11:43
V /etc/crontab ma byt uzivatel pod kterym to bezi. Tenhle zapis funguje tak leda v /var/spool/cron/crontabs.
Název: Re:crontab nespustí bash skript
Přispěvatel: Honza1 25. 03. 2017, 12:06:13
Je ten skriptspustitelny (mas pravo spoustet) ? Neni ve jmenu skriptu nebo ceste k skriptu tecka, mezera ? Mas pristup do slozky, ve ktere skript je ? Kdyz spustis skript prokazem, jde to ?
Název: Re:crontab nespustí bash skript
Přispěvatel: Kosťa 25. 03. 2017, 19:05:10
Nevím jak ostatní, ale já skripty v cronu testuji takto:
* * * * * /cesta/mujscript >> /tmp/mujlog.txt 2>&1