Skocz do zawartości
Zaloguj się, aby obserwować  
xxdrago

CRONTAB "Steam: Not a regular file."

Polecane posty

Witam, na wstępnie chciałem zaznaczyć , że jestem początkujący w systemach linux i dopiero pogłębiam swoją wiedzę. Chciałbym uruchomić crona co 1 godzinę mam takie polecenie:

 

s1:~# crontab * 01 * * * root /opt/lampp/lib/php /opt/lampp/htdocs/wykonaj/generuj.php
Steam: Not a regular file.

 

Steam: Not a regular file.

 

Co tutaj źle mam?

 

Pozdrawiam,

Tomasz

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Źle, użyj komendy crontab -e i wpisz:

* */1 * * * root /opt/lampp/lib/php /opt/lampp/htdocs/wykonaj/generuj.php

 

następnie zapisz i wyjdź. Jeśli nie poradzisz sobie z edytorem to zrób tak:

echo "* */1 * * * root /opt/lampp/lib/php /opt/lampp/htdocs/wykonaj/generuj.php" >> /etc/crontab

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 * */1 * * * root /opt/lampp/lib/php /opt/lampp/htdocs/wykonaj/generuj.php

 

 

Taka wiadomość:

E486: Pattern not found: 1 * * * root  

 

tylko co tutaj jest źle?

Edytowano przez xxdrago (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To znaczy, co mam zrobić? gdzie mam wpisać via echo

 

A robie to tak , że wpisuje crontab -e

i wklejam:

* */1 * * * root /opt/lampp/lib/php /opt/lampp/htdocs/wykonaj/generuj.php

Daje enter i wyskakuje taki błąd na czerwono.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

1) Jeśli dodajesz via crontab -e, to nie umieszczasz w pliku uid użytkownika

2) Konstrukcja */1 nie ma właściwie sensu... Może być sama *

3) Wskazane by było zmienić cwd przed wykonaniem tego polecenia, albo stosować w skrypcie ścieżki absolutne.

Hint: cd /opt/lampp/htdocs/wykonaj ; /opt/lamp/lib/php /opt/lampp/.........

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Źle, użyj komendy crontab -e i wpisz:

* */1 * * * root /opt/lampp/lib/php /opt/lampp/htdocs/wykonaj/generuj.php

nie ma to jak doradzać ! smile.png

 

* */1 * * * - mistrzostwo świata nie wspominając o tym uid biggrin.png

 

Do tematu...

@up już napisał, jednak weź wybierz jakiś prosty edytor:

export EDITOR=nano

i przeklej to normalnie:

* * * * * /opt/lampp/lib/php /opt/lampp/htdocs/wykonaj/generuj.php >/dev/null 2>&1

 

Kolejna sprawa, że nie powinno się tego uruchamiać z roota...

Edytowano przez patrys (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak dam tak:

 

* * * * * /opt/lampp/lib/php ; /opt/lampp/htdocs/wykonaj/generuj.php

 

To będzie sie wykonywać co minute (chyba tak przynajmniej zrozumiałem z książki).

 

Po wpisaniu:

* */1 * * * /opt/lampp/lib/php ; /opt/lampp/htdocs/wykonaj/generuj.php

 

E486: Pattern not found: 1 * * *

 

Panowie proszę się nie śmiać bo ja tutaj zielony jestem.

Edytowano przez xxdrago (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Owszem, * * * * * uruchomi wszystko co minutę.

Możesz więc dać 0 * * * * - wtedy będzie o każdej pełnej godzinie, lub 25 * * * * - wówczas 25 minut po każdej pełnej godzinie itd.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Kafi Ci dobrze podpowiada ...

Zeby skrypt mogl byc wykonywany w shell z pod cron bo tak wlasnie chcesz to uruchomic

to uzytkownik ktory go wywoluje musi miec prawa roota podobnie jak apache na czas wykonywania

skryptow w php. Tyle ze ma go z ograniczeniami do katalogow domowych stron bo to wlasnie

w ich obrebie ma dzialac.

Ty chcesz wyjsc poza ten obszar wiec musisz nadac odpowiednie prawa.

Najpierw do cron wpisujesz :

 
* * * * * php -f /home/sciezka_do_pliku

Podaje sie cale sciezki a nie od katalogu domowego.

Pamietaj ze w ten sposob wywolujesz skrypt z poziomu shell.

Teraz jesli to nie odniesie skutku to napisz sobie w shell komende :

 
php -f /home/sciezka_do_pliku

Jesli sie wykona to znaczy, ze wlasnie zostaje sprawa praw.

W takim razie na poczatek musisz nadac wszystkim katalogom i temu plikowi

prawa 777 w chmod :

 
chmod 0777 /home

I tak dla kjazdego katalogu az dochodzisz do pliku.

Jesli nadal nie ma efektu bo to zalezy od ustawien serwera i uprawnien na serwerze

to musisz dodac odpowiedni wpis do praw sudoers.

Wiec piszesz w shell "visudo" i dodajesz wpis :

 
nobody ALL=NOPASSWD:/home/httpd/html/admin/adm_who_nnd.php

i przeladowujesz uprawnienia lub "reboot" dla systemu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Najpierw do cron wpisujesz :

 

* * * * * php -f /home/sciezka_do_pliku

Podaje sie cale sciezki a nie od katalogu domowego.

a do binarki php to już się ścieżki nie podaje pełnej ?

 

prawa 777 w chmod :

 

chmod 0777 /home

I tak dla kjazdego katalogu az dochodzisz do pliku.

rób tak dalej ! wink.png

 

Wiec piszesz w shell "visudo" i dodajesz wpis :

 

nobody ALL=NOPASSWD:/home/httpd/html/admin/adm_who_nnd.php

i przeladowujesz uprawnienia lub "reboot" dla systemu.

Podobno trzeba jeszcze rzucić serwerem o podłogę wink.png

 

----

 

Polecenie które podałem po edycji wcześniejszego postu powinno działać, choć nie popieramy używania konta root do takich celów.

Gdy będzie problem z ścieżkami, zrobić to co napisał @kafli.

* * * * * cd /opt/lampp/htdocs/wykonaj && /opt/lampp/lib/php generuj.php >/dev/null 2>&1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dobra, panowie zrobiłem tak, zainstalowałem sobie ubuntu oraz apache i teraz znowu mam problemy:

 

root@s1:~# crontab -e
no crontab for root - using an empty one
888

 

 

Gdy wpisuje jakieś komendy to odpowiedzią jest: "?".

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja nie napisalem ze to bezpieczne. Kazde takie dzialanie jest niebezpieczne. I nie wszedzie trzeba podawac sciezki do php.

Jak jest wszystko zainstalowane jak trzeba mozna nie podawac sciezki do php jesli dziala jako demon w systemie.

U mnie nie trzeba podawac zadnych sciezek do php. Poza tym to jest jezyk skryptowy ktory nie koniecznie

musi byc wykozystywany do tworzenia stron. Mnie sie wlasnie udalo sterowac bezposrednio z kompa

silnikiem krokowym wlasnie z pod php poprzez USB pod Winda. Pod linuxem nie ma z tym problemu.

Wszechwiedzacy nie wiedzial tego ? Uuu jak mi przykro. Moze rzuc swoim komputerem o podloge

to Ci pomoze. Juz samo apache w systemie jest niebezpieczne . Pod xampem mozesz sobie tak pisac, ale sprobuj

tak napisac pod freebsd albo pod innym porzadnym serwerem ...

Do tego co napisal poprzednik dodaj przelacznik -f .

 
-f <file>	    Parse and execute <file>.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Kolego więcej pokory a mniej fatazji.

Jak jest wszystko zainstalowane jak trzeba mozna nie podawac sciezki do php jesli dziala jako demon w systemie.

Php jako demon to żeś wymyślił a podawanie ścieżki jest bardzo dobrym pomysłem wtedy ma się pewnośc przez jaki interpreter to się wykona i że w ogóle sie wykona. Przy okazji wystarczyło by gdyś raz o tym napisał a nie 3 razy, że nie musisz podawać śceiżek.

 

Cała reszta o sterowaniu silnika nijak się ma do tematu a jak chciałeś się pochwalić to trzeba było to w piskownicy napisać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×