crontab nespustí bash skript

crontab nespustí bash skript
« kdy: 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 ;)


asdf123

Re:crontab nespustí bash skript
« Odpověď #1 kdy: 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

koss43

  • ***
  • 120
    • Zobrazit profil
    • E-mail
Re:crontab nespustí bash skript
« Odpověď #2 kdy: 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.

Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:crontab nespustí bash skript
« Odpověď #3 kdy: 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

Re:crontab nespustí bash skript
« Odpověď #4 kdy: 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).


Re:crontab nespustí bash skript
« Odpověď #5 kdy: 25. 03. 2017, 09:03:58 »
exclude file musis dat s absolutni cestou.
Děkuji za možnost editace příspěvku.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:crontab nespustí bash skript
« Odpověď #6 kdy: 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.

Honza1

Re:crontab nespustí bash skript
« Odpověď #7 kdy: 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 ?

Kosťa

Re:crontab nespustí bash skript
« Odpověď #8 kdy: 25. 03. 2017, 19:05:10 »
Nevím jak ostatní, ale já skripty v cronu testuji takto:
* * * * * /cesta/mujscript >> /tmp/mujlog.txt 2>&1