How-To Cron (Crontab) - harmonogram zadań - edycja

Discussion in 'Oh'Linux? Software hacking' started by Silas Mariusz, May 11, 2008.

Loading...
Tags:
  1. Silas Mariusz
    Online

    Silas Mariusz SysOp Administrator

    Joined:
    Apr 5, 2008
    Messages:
    7,830
    Local Time:
    2:24 PM
    Ratings:
    +1,669 / 34 / -7
    Followers:
    32
    QNAP:
    TS-x77
    Ethernet:
    1 GbE
    TS-x77 1 GbE

      cron

    cron jest opartym na czasie programem do harmonogramowania zadań w systemach operacyjnych z rodziny Unixa. Może zostać wykorzystany do uruchamiania zadań (programów, komend, skryptów) o określonych godzinach, datach albo regularnie zgodnie z określonym interwałem.



    Aby wyświetlić znajdujące się w cron'ie zaplanowane zadania wykonaj polecenie:
    Code (Bash):
    1. crontab -l
    Aby dodać nowe zadanie do cron'a:
    1. Edytuj plik /etc/config/crontab, za pomocą edytora np.: nano, vi lub mcedit
      Code (Bash):
      1. mcedit /etc/config/crontab
      2.  
      3. # lub vi...
      4. vi /etc/config/crontab
    2. Przeładuj cron'a i zrestartuj jego usługę:
      Code (Bash):
      1. crontab /etc/config/crontab && /etc/init.d/crond.sh restart

      Uprawnienia pliku

    Pamiętaj, aby uruchamiany plik z crona miał uprawnienie wykonania.
    chmod +x plik.sh



    Stara metoda:
    Wielu z Was pewnie chcialoby dodac jakas swoja aplikacje do crontab'a.
    Sprawa bardzo prosta lecz nie robimy tego w sposob crontab -e, lecz:
    Code (Text):
    1. vi /mnt/HDA_ROOT/.config/crontab
     
    • Lubię to! Lubię to! x 2
  2. esk
    Offline

    esk Nowy użytkownik Noobie

    Joined:
    Oct 28, 2008
    Messages:
    4
    Local Time:
    1:24 PM
    Ratings:
    +0 / 0 / -0
    Followers:
    0
    Witam.
    Na Qnap'ie 109 crontab pamięta ustawienia po restarcie natomiast na 509 po każdym restarcie crontab jest bez moich wpisów,
    co prawda wpisywałem przy urzyciu edytora z MC ale to chyba nie ma znaczenia?
    Gdzie i jak można ustawić crontaba na stałe?
     
  3. Silas Mariusz
    Online

    Silas Mariusz SysOp Administrator

    Joined:
    Apr 5, 2008
    Messages:
    7,830
    Local Time:
    2:24 PM
    Ratings:
    +1,669 / 34 / -7
    Followers:
    32
    QNAP:
    TS-x77
    Ethernet:
    1 GbE
    TS-x77 1 GbE
    na TS-509 sprawdz:
    # crontab -e
    moze zadziala... daj znac
     
  4. esk
    Offline

    esk Nowy użytkownik Noobie

    Joined:
    Oct 28, 2008
    Messages:
    4
    Local Time:
    1:24 PM
    Ratings:
    +0 / 0 / -0
    Followers:
    0
    Witam
    Zadziałoło w qnap-ie 509Pro
    vi /mnt/HDA_ROOT/.config/crontab
     
  5. m@k
    Offline

    m@k Passing Basics Beginner

    Joined:
    May 6, 2009
    Messages:
    19
    Location:
    Kraków
    Local Time:
    2:24 PM
    Ratings:
    +0 / 0 / -0
    Followers:
    0
    QNAP:
    TS-x51
    Ethernet:
    1 GbE
    TS-x51 1 GbE
    Na moim TS-109 II faktycznie, jakakolwiek modyfikacja po crontab -e nie jest zapisywana. Zmieniłem plik

    /mnt/HDA_ROOT/.config/crontab

    zrestartowalem /etc/init.d/crond.sh restart. Ale crontab -l wypisuje wciąż starą listę zadań różną od tego co mam w pliku /mnt/HDA_ROOT/.config/crontab.
    Jak sprawdzić, skąd faktycznie cron czyta plik?
     
  6. sebattt
    Offline

    sebattt Nowy użytkownik Noobie

    Joined:
    Jul 3, 2010
    Messages:
    1
    Local Time:
    2:24 PM
    Ratings:
    +1 / 0 / -0
    Followers:
    0
    cron dziala na danych zapisanych w
    Code (Text):
    1. /var/spool/cron/crontabs/
    Nie edytuje się ich bezpośrednio, lecz wymusza załadowanie z pliku:
    Code (Text):
    1. crontab /etc/config/crontab
    Trzeba tu wspomnieć, że /etc/config/crontab jest podlinkowany do /mnt/HDA_ROOT/.config/crontab, a więc w Twoim przypadku, przed restartem crond trzeba jeszcze wywołać crontab /etc/config/crontab.
     
    • Lubię to! Lubię to! x 1
  7. kaktus
    Offline

    kaktus μC Circuitmaker Q's Editor

    Joined:
    Feb 14, 2011
    Messages:
    938
    Location:
    opolskie
    Local Time:
    2:24 PM
    Ratings:
    +225 / 9 / -3
    Followers:
    3
    QNAP:
    TS-219P+
    Ethernet:
    1 GbE
    TS-219P+ 1 GbE
    Co może być na rzeczy, że po starcie QTS nie uruchamia się moje zadania z cron-a. Postępowałem wg powyższych instrukji, wpis nie jest tracony z tablicy. Zaczyna dopiero funkcjonować po:
    Code (Bash):
    1. /etc/init.d/crond.sh restart
     
  8. Silas Mariusz
    Online

    Silas Mariusz SysOp Administrator

    Joined:
    Apr 5, 2008
    Messages:
    7,830
    Local Time:
    2:24 PM
    Ratings:
    +1,669 / 34 / -7
    Followers:
    32
    QNAP:
    TS-x77
    Ethernet:
    1 GbE
    TS-x77 1 GbE
    Klasyczny problem. Otóż @kaktuskaktus wyobraź sobie, że podczas startu Twój system ma zupełnie inne zmienne środowiskowe niż te, które są po Twoim zalogowaniu się na FAQ shell z /etc/profile.

    Dlatego w cron'ie zrób sobie wpis na plik pośredni który będzie logował uruchomienie docelowego pliku.
    Code (Bash):
    1. #!/bin/sh
    2.  
    3. EXECLOG="/share/Public/cronexec.log"
    4.  
    5. # log stderr
    6. sh /share/Public/runme.sh >> $EXECLOG 2>&1
    7.  
    8. # lub stdout
    9. sh /share/Public/runme.sh >> $EXECLOG
    10.  
    11. # albo jesli posiadasz w systemie tee
    12. export PATH="$PATH:/usr/bin:/opt/bin"
    13. sh /share/Public/runme.sh | tee -a $EXECLOG
    Pamiętaj też, żeby wykorzystywać crontab do zadań do, którym ma on służyć. Czyli cykliczny harmonogram uruchomień programu. Przypadkiem nie używaj crontab'a jako alternatywy do autostartu.
     
  9. kaktus
    Offline

    kaktus μC Circuitmaker Q's Editor

    Joined:
    Feb 14, 2011
    Messages:
    938
    Location:
    opolskie
    Local Time:
    2:24 PM
    Ratings:
    +225 / 9 / -3
    Followers:
    3
    QNAP:
    TS-219P+
    Ethernet:
    1 GbE
    TS-219P+ 1 GbE
    Tych czarówmarów nie uskuteczniłem, ale naprowadziłeś mnie na rozwiązanie, dopisałem pełną ścieżkę do wywoływanego programu ;)

    Powinno działać po restarcie lepiej. :p
     
  10. Silas Mariusz
    Online

    Silas Mariusz SysOp Administrator

    Joined:
    Apr 5, 2008
    Messages:
    7,830
    Local Time:
    2:24 PM
    Ratings:
    +1,669 / 34 / -7
    Followers:
    32
    QNAP:
    TS-x77
    Ethernet:
    1 GbE
    TS-x77 1 GbE
    Co Ty chcesz mi powiedzieć, że uruchamiałeś program nie podając jego ścieżki?!
     
  11. kaktus
    Offline

    kaktus μC Circuitmaker Q's Editor

    Joined:
    Feb 14, 2011
    Messages:
    938
    Location:
    opolskie
    Local Time:
    2:24 PM
    Ratings:
    +225 / 9 / -3
    Followers:
    3
    QNAP:
    TS-219P+
    Ethernet:
    1 GbE
    TS-219P+ 1 GbE
    ależ oczywiście :D
     

Users found this page by searching for:

  1. crone harmonogram zadań

    ,
  2. uruchomienie pliku sh poprzez cron-a