Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Blog Ubuntu -- Správa "projektů" české komunity Ubuntu

Novinky: Školení nejen k OS Ubuntu pro širokou veřejnost, více informací zde.

Autor Téma: CRON provede script, ale je tam nekde chyba  (Přečteno 393 krát)

Kony.cz

  • Člen
  • **
  • Příspěvků: 236
  • Karma: +4/-9
    • Zobrazit profil
CRON provede script, ale je tam nekde chyba
« kdy: 04 Duben 2018, 08:27:54 »
Hoj, mam tady script , ktery kdyz pustim manualne tak projde, ale jakmile ho ma pustit cron tak se nevykoba uplne, ale nevim kde najit log kde bych nasel chybu. je to script na poslani souboru pres ftp pomoci curl, kdyz ho pustim ten script manulne tak projde , ale cron nic a nic...

Diky moc

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • *****
  • Příspěvků: 3725
  • Karma: +363/-65535
  • skill :: ur home erly
    • Zobrazit profil
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Kony.cz

  • Člen
  • **
  • Příspěvků: 236
  • Karma: +4/-9
    • Zobrazit profil
Re:CRON provede script, ale je tam nekde chyba
« Odpověď #2 kdy: 04 Duben 2018, 10:03:13 »
jde o to, ze kdyz pustim script manualne tak se vse prenese, jakmile to dam pres cron, tak se data neprenesou a jen se prepise vzdaleny soubor na prazdny... z nulovou velikosti.

syslog nic nepise, jen to ze se cron pustil

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • *****
  • Příspěvků: 3725
  • Karma: +363/-65535
  • skill :: ur home erly
    • Zobrazit profil
Re:CRON provede script, ale je tam nekde chyba
« Odpověď #3 kdy: 04 Duben 2018, 10:13:45 »
je to s nejvetsi pravdepodobnosti kvuli tomu, ze v cronu je orezany env

ve skriptu je dobre nastavit alespon promenne PATH a LANG a mozna neco dalsiho ..

takze nastav PATH a LANG a pokud to nebude stacit, tak dej na zacatek skriptu za shebang

Kód: [Vybrat]
exec 2> /var/tmp/$(/usr/bin/basename $0).debug
set -x

a potom si precti, co tomu chybelo ve /var/tmp/<jmeno skriptu>.debug
« Poslední změna: 04 Duben 2018, 10:17:28 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Kony.cz

  • Člen
  • **
  • Příspěvků: 236
  • Karma: +4/-9
    • Zobrazit profil
Re:CRON provede script, ale je tam nekde chyba
« Odpověď #4 kdy: 05 Duben 2018, 12:45:06 »
tak jsem na zacatek scriptu dal

Kód: [Vybrat]
#!/bin/bash
PATH=/opt/mujscript:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH

......
.....
script
......
.....

vsechny sh soubory se nachazi ve slozce /opt/mujscript

ale je to to stejny

Kony.cz

  • Člen
  • **
  • Příspěvků: 236
  • Karma: +4/-9
    • Zobrazit profil
Re:CRON provede script, ale je tam nekde chyba
« Odpověď #5 kdy: 06 Duben 2018, 11:35:42 »
tak jsem schvalne dal ten script do /etc a taky se to nespustilo, tak uz vazne nevim, ale kdy zse podivam

Kód: [Vybrat]
grep CRON /var/log/syslog
tak je tam zaznamenano ze se pustil

uz jsem udelal i uplne obycejny script
Kód: [Vybrat]
#!/bin/bash
PATH=/opt/mujscript:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
dt=$(date '+%d/%m/%Y %H:%M:%S');
echo $dt > test.txt

a stejne to nezapise kdyz to ma pustit cron, jakmile pustim manalne tak to projde a zapise
« Poslední změna: 06 Duben 2018, 12:00:58 od Kony.cz »

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • *****
  • Příspěvků: 3725
  • Karma: +363/-65535
  • skill :: ur home erly
    • Zobrazit profil
Re:CRON provede script, ale je tam nekde chyba
« Odpověď #6 kdy: 06 Duben 2018, 12:42:33 »
...

s tebou je to tezky ... rekl jsem ti, co mas udelat a kde naprosto presne uvidis, co to dela

Kód: [Vybrat]
exec 2> /var/tmp/$(/usr/bin/basename $0).debug
set -x
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Kony.cz

  • Člen
  • **
  • Příspěvků: 236
  • Karma: +4/-9
    • Zobrazit profil
Re:CRON provede script, ale je tam nekde chyba
« Odpověď #7 kdy: 06 Duben 2018, 13:14:52 »
ale ja to udelal, zadny soubor se nevytvoril

aa tak vytvoril....

Kód: [Vybrat]
+ PATH=/opt/mujscript:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ date '+%d/%m/%Y %H:%M:%S'
+ dt='06/04/2018 13:16:01'
+ echo 06/04/2018 13:16:01

ale stejne do toho souboru test.txt se nic nezapsalo

jakmile pustim manualne tak krasne zapise, uz jsem i nastavil chmod 777 na soubor test.txt a vlastnikem je root/root


a nebo to udelat jinak, potrebuji aby se ten script a vykonal jednou denne.. ve 2 hodiny rano..
« Poslední změna: 06 Duben 2018, 13:36:59 od Kony.cz »

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • *****
  • Příspěvků: 3725
  • Karma: +363/-65535
  • skill :: ur home erly
    • Zobrazit profil
Re:CRON provede script, ale je tam nekde chyba
« Odpověď #8 kdy: 06 Duben 2018, 13:49:00 »
co treba kdybys napsal plnou cestu :D

Kód: [Vybrat]
#!/bin/bash
export PATH=/opt/mujscript:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin;
export LANG=en_US.UTF-8;
date '+%d/%m/%Y %H:%M:%S' > /var/tmp/test.txt;
exit 0;

:D
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??