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

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Shell příkaz z cronu  (Přečteno 2369 krát)

rgrohol

  • Návštěvník
  • Příspěvků: 11
    • Blog
Shell příkaz z cronu
« kdy: 05 Července 2010, 13:04:20 »
Ahoj,
mám problém s cronem. Našel jsem si skript, který ze složky vybere náhodný obrázek a nastaví ho jako pozadí. Když v terminálu spustím
Kód: [Vybrat]
/bin/bash /home/bob/Scripts/wallpaper.shfunguje to v pohodě. Ale když se pokouším tento příkaz pouštět každou minutu z cronu, neděje se nic. crontab edituji jako běžný uživatel a výstup z crontab -l vypadá takto
Kód: [Vybrat]
#změna pozadí každou minutu
* * * * * /bin/bash /home/bob/Scripts/wallpaper.sh
Jinak cron běží a dokonce i vyhazuje výstupy do syslogu, takže se script nejspíš pokouší spustit, ale něco mu v tom zabrání.
Kód: [Vybrat]
Jul  5 13:03:01 bob-desktop CRON[7229]: (bob) CMD (/bin/bash /home/bob/Scripts/wallpaper.sh)
Jul  5 13:03:01 bob-desktop postfix/pickup[6191]: 4CB8B2492B: uid=1000 from=<bob>
Jul  5 13:03:01 bob-desktop postfix/cleanup[7103]: 4CB8B2492B: message-id=<20100705110301.4CB8B2492B@bob-desktop>
Jul  5 13:03:01 bob-desktop postfix/qmgr[1660]: 4CB8B2492B: from=<bob@bob-desktop>, size=665, nrcpt=1 (queue active)
Jul  5 13:03:01 bob-desktop postfix/local[7105]: 4CB8B2492B: to=<bob@bob-desktop>, orig_to=<bob>, relay=local, delay=0.21, delays=0.15/0.01/0/0.06, dsn=2.0.0, status=sent (delivered to mailbox)
Jul  5 13:03:01 bob-desktop postfix/qmgr[1660]: 4CB8B2492B: removed

Martin - ViPEr*CZ*

Re: Shell příkaz z cronu
« Odpověď #1 kdy: 05 Července 2010, 13:35:31 »
Zkuste si nastavit práva (možná jsou špatně):

Kód: [Vybrat]
chmod +x /home/bob/Scripts/wallpaper.sh
a pak do cronu dejte jen

Kód: [Vybrat]
* * * * * /home/bob/Scripts/wallpaper.sh
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

RNA

  • Stálý člen
  • **
  • Příspěvků: 630
Re: Shell příkaz z cronu
« Odpověď #2 kdy: 05 Července 2010, 13:41:54 »

Tohle mi chodí každou hodinu, vždy ve 30. minutě:
ten ntp_adjust je normální shellový skript, kkerý jen kopíruje soubor

# m h dom mon dow user  command
30 *    * * *   root    /util/ntp_adjust


Shell je určen v řádku
#! /bin/sh 
přímo v tom skriptu, nikoliv ve spuštěcím řádku crontab.

rgrohol

  • Návštěvník
  • Příspěvků: 11
    • Blog
Re: Shell příkaz z cronu
« Odpověď #3 kdy: 05 Července 2010, 15:47:51 »
zkusil jsem to dle vašich rad, ale stále bez úspěchu.. Jen pro jistotu přikládám ještě obsah scriptu, zda není chyba v něm..
Kód: [Vybrat]
#!/bin/sh

# Script to randomly set Background from files in a directory

# Directory Containing Pictures
DIR="/home/bob/Obrázky/backgrounds"

# Command to Select a random jpg file from directory
# Delete the *.jpg to select any file but it may return a folder
PIC=$(ls $DIR/*.jpg | shuf -n1)

# Command to set Background Image
gconftool -t string -s /desktop/gnome/background/picture_filename $PIC

Martin - ViPEr*CZ*

Re: Shell příkaz z cronu
« Odpověď #4 kdy: 05 Července 2010, 16:18:07 »
Teď otázka jestli se Vám vůbec skript pustí nebo se jen špatně provede???

Není tadle cesta nějaká divná? /desktop/gnome/background/picture_filename
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

rgrohol

  • Návštěvník
  • Příspěvků: 11
    • Blog
Re: Shell příkaz z cronu
« Odpověď #5 kdy: 05 Července 2010, 16:21:55 »
Je pravda, že takový adresář ani v pc nemám, našel jsem ho na internetu a měnil jsem jen adresář, odkud se mají obrázky načítat. Ale jak jsem již jednou psal, script sám o sobě funguje, jen se nechce spouštět z cronu.

Martin - ViPEr*CZ*

Re: Shell příkaz z cronu
« Odpověď #6 kdy: 05 Července 2010, 16:34:45 »
Takže jste v terminálu... a dáte:

./home/bob/Scripts/wallpaper.sh a skript se provede? (teď si nejsem jistej jestli ta tečka nemá být taky v cronu)
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

rgrohol

  • Návštěvník
  • Příspěvků: 11
    • Blog
Re: Shell příkaz z cronu
« Odpověď #7 kdy: 05 Července 2010, 16:44:23 »
příkaz, který jste napsal funguje z terminálu tak, jak má.. ale ani přidání tečky do příkazu v cronu nepomohlo..

Martin - ViPEr*CZ*

Re: Shell příkaz z cronu
« Odpověď #8 kdy: 05 Července 2010, 16:47:10 »
A co Vám cron dělá teď v logu? Koukal jsem se do příkazu mail na poštu co Vám to poslalo?
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

rgrohol

  • Návštěvník
  • Příspěvků: 11
    • Blog
Re: Shell příkaz z cronu
« Odpověď #9 kdy: 05 Července 2010, 16:54:22 »
Kód: [Vybrat]
Jul  5 16:48:01 bob-desktop CRON[13108]: (bob) CMD (./home/bob/Scripts/wallpaper.sh)
Jul  5 16:48:01 bob-desktop postfix/pickup[13030]: E3D5A24ABE: uid=1000 from=<bob>
Jul  5 16:48:01 bob-desktop postfix/cleanup[12654]: E3D5A24ABE: message-id=<20100705144801.E3D5A24ABE@bob-desktop>
Jul  5 16:48:02 bob-desktop postfix/qmgr[1660]: E3D5A24ABE: from=<bob@bob-desktop>, size=558, nrcpt=1 (queue active)
Jul  5 16:48:02 bob-desktop postfix/local[12656]: E3D5A24ABE: to=<bob@bob-desktop>, orig_to=<bob>, relay=local, delay=0.21, delays=0.15/0/0/0.06, dsn=2.0.0, status=sent (delivered to mailbox)
Jul  5 16:48:02 bob-desktop postfix/qmgr[1660]: E3D5A24ABE: removed

toto je výstup ze syslog, který to háže každou minutu

e-mail mi bohužel nepřišel a jestli ano, tak nevím kam, protože na adresu, kterou mám uvedenou, nepřišlo zhola nic.

Martin - ViPEr*CZ*

Re: Shell příkaz z cronu
« Odpověď #10 kdy: 05 Července 2010, 17:04:09 »
Zkuste ještě toto... mělo by to uložit ten log do souboru a ne ho posílat na bob@bob-desktop

Kód: [Vybrat]
* * * * * /home/bob/Scripts/wallpaper.sh > /home/bob/cron.log
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

rgrohol

  • Návštěvník
  • Příspěvků: 11
    • Blog
Re: Shell příkaz z cronu
« Odpověď #11 kdy: 05 Července 2010, 17:13:07 »
tak tento řádek mi sice vytvořil soubor cron.log v domovském adresáři, ale nic do něj nezapsal..

Martin - ViPEr*CZ*

Re: Shell příkaz z cronu
« Odpověď #12 kdy: 05 Července 2010, 17:17:26 »
poslal jsem Vám PM... pak sem hodím výsledek až ;-)

Nejsem v linuxu abych Vám to přesně ozkoušel a z hlavy přesně nevím kde může být chyba.
Každopádně chce zjistit zda se vůbec skript provádí. Pokud ho to provádí bude chyba uvnitř skriptu a je potřeba si nechat něco vypisovat, aby se to dalo určit, kde je vůbec chyba.
« Poslední změna: 05 Července 2010, 17:19:24 od Martin - ViPEr*CZ* »
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

rgrohol

  • Návštěvník
  • Příspěvků: 11
    • Blog
Re: Shell příkaz z cronu
« Odpověď #13 kdy: 05 Července 2010, 17:22:12 »
Děkuji vám moc za pomoc, skript se provádí, jelikož se do cron.log poté to echo vypíše. Problém tedy nejspíš bude někde uvnitř. Jen je zvláštní, že při spuštění skriptu z příkazové řádky funguje normálně..

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Shell příkaz z cronu
« Odpověď #14 kdy: 05 Července 2010, 19:57:01 »
Můžeš tady nebo někam jinam dát ten skript? cron pracuje v jiném prostředí než běžný uživatel, takže mohou nastat problémy např. při komunikaci s X serverem.
http://www.openstreetmap.org - mapy celého světa "wiki style"

rgrohol

  • Návštěvník
  • Příspěvků: 11
    • Blog
Re: Shell příkaz z cronu
« Odpověď #15 kdy: 05 Července 2010, 20:03:20 »
obsah skriptu uz v tomto threadu je u ctvrteho prispevku.. Bohuzel se v nem mo nevyznam, takze nevim, co y mohlo byt spatne.

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Shell příkaz z cronu
« Odpověď #16 kdy: 05 Července 2010, 20:32:37 »
http://www.openstreetmap.org - mapy celého světa "wiki style"

fish

  • Aktivní člen
  • *
  • Příspěvků: 307
Re: Shell příkaz z cronu
« Odpověď #17 kdy: 05 Července 2010, 21:30:30 »
Crontab nastaví iba:

HOME=user’s-home-directory
LOGNAME=user’s-login-id
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh

Všetky ostatné parametre prostredia potrebné pre beh programu si treba nastaviť.
Crontab – Quick Reference
Acer Aspire 5738ZG/Intel T4400/ATI MR HD 4650/4GB RAM :: Ubuntu 10.04 64bit/Kbuntu 10.10 64bit/Win7 HP 64bit

 

Provoz zaštiťuje spolek OpenAlt.