Fórum Root.cz
Hlavní témata => Software => Téma založeno: 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:
0 1 * * * /home/user/.skript/Zal_rsync_den
Kde je chyba?
Dík za pomoc ;)
-
Ahoj,
nedávno jsem tu řešil bash skript pro zálohování pomocí rsyncu ale potvora se nechce spouštět.
Crontab:
0 1 * * * /home/user/.skript/Zal_rsync_den
Kde 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
-
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.
-
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
0 1 * * * bck_user /home/user/.skript/Zal_rsync_den
-
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).
-
exclude file musis dat s absolutni cestou.
-
V /etc/crontab ma byt uzivatel pod kterym to bezi. Tenhle zapis funguje tak leda v /var/spool/cron/crontabs.
-
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 ?
-
Nevím jak ostatní, ale já skripty v cronu testuji takto:
* * * * * /cesta/mujscript >> /tmp/mujlog.txt 2>&1