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

Incrontab odpalenie własnego skryptu

Polecane posty

W jaki sposób prawidłowo odpalić skrypt w incrontab na Debianie?

Sam incron działa dobrze ponieważ zdefiniowane zadanie dodawania wpisu do logu w przypadku działania, działa prawidłowo.

Również skrypt odpalony sam działa prawidłowo.

Wpisy w incrontab:

/etc IN_MODIFY,IN_CREATE,IN_DELETE /usr/bin/logger "Sciezka: $@/$# Zdarzenie:$%"
/etc IN_MODIFY,IN_CREATE,IN_DELETE /root/skrypt

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Powiem szczerze, że widziałem ten link i albo nie widzę/nie rozumiem ale tam nie ma jak odpalić własny skrypt. Jest jak wywoływać polecenia.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Skrypt jakikolwiek:

#!/bin/sh

date +"%m/%d/%Y %H:%M:%S $HOSTNAME" >> /root/log.txt

Chmod dodany "+x "na wywoływanie.

Skrypt odpalany ./skrypt działa.

Zlokalizowany w /root/skrypt

Root dodany w incron.allow

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Spróbuj zrobić z tego jeden wpis i ręcznie wskazać interpreter.

/etc IN_MODIFY,IN_CREATE,IN_DELETE /usr/bin/logger "Sciezka: $@/$# Zdarzenie:$%" && /bin/sh /root/skrypt
Edytowano przez Ubinoob (zobacz historię edycji)
  • Upvote 1

Udostępnij ten post


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

incron może nie znać $PATH. Daj w skrypcie pełne ścieżki do binarek z których w nim korzystasz.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

incron może nie znać $PATH. Daj w skrypcie pełne ścieżki do binarek z których w nim korzystasz.

Dobrze kombinuje?

echo $PATH

i podstawiam

/etc IN_MODIFY,IN_CREATE,IN_DELETE /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/vesta/bin /root/skrypt

Bo też nie działa

 

 

Spróbuj zrobić z tego jeden wpis i ręcznie wskazać interpreter.

/etc IN_MODIFY,IN_CREATE,IN_DELETE /usr/bin/logger "Sciezka: $@/$# Zdarzenie:$%" && /bin/sh /root/skrypt

Nie zadziałało.

 

 

Edytowano przez vjdj (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sprawdź czy on uruchamia to faktycznie na roocie (w przeciwnym wypadku nie uda mu się dostać do katalogu):

/etc IN_MODIFY,IN_CREATE,IN_DELETE /usr/bin/whoami >> /tmp/test.log

Jeśli faktycznie na roocie, to spróbuj w swoim skrypcie zmienić:

/bin/date +"%m/%d/%Y %H:%M:%S $HOSTNAME" >> /root/log.txt

Ewentualnie można spróbować zobaczyć o jest w $PATH i próbować je ustawić.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sprawdź czy on uruchamia to faktycznie na roocie (w przeciwnym wypadku nie uda mu się dostać do katalogu):

/etc IN_MODIFY,IN_CREATE,IN_DELETE /usr/bin/whoami >> /tmp/test.log

 

Nic nie dodaje.

 

Path:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/vesta/bin

Udostępnij ten post


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

Gdzie Ty to "echo $PATH" wykonujesz? W konsoli jak jesteś zalogowany? Tu na pewno Ci zadziała bo jesteś zalogowany i masz tą zmienną ustawioną. Podpowiadając "$PATH" chodziło mi o to, że incron "może nie znać" ścieżek do binarek. Usługę incron'a masz uruchomioną, działa?

 

Edycja:

Prawdopodobnie jeszcze, na co nie zwróciłem uwagi wcześniej, masz "/etc" a nie "/etc/" - dodaj forward slash na końcu.

Edytowano przez mariaczi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pokazałem tylko co zwraca "path" bez sensu w sumie i niepotrzebnie.

Przez to PATH rozumiem, że mam podawać pełną ścieżkę jak poniżej np.

Poprawiłem slash

incrontab -l
/etc/ IN_MODIFY,IN_CREATE,IN_DELETE /usr/bin/whoami >> /tmp/test.log

Incron działa

service incron status -l
● incron.service - file system events scheduler
   Loaded: loaded (/lib/systemd/system/incron.service; enabled)
   Active: active (running) since nie 2017-02-26 10:41:32 CET; 6min ago
  Process: 252 ExecStart=/usr/sbin/incrond (code=exited, status=0/SUCCESS)
 Main PID: 270 (incrond)
   CGroup: /system.slice/incron.service
           └─270 /usr/sbin/incrond

lut 26 10:41:31 serwer.ovh.net systemd[1]: Starting file system events scheduler...
lut 26 10:41:32 serwer.ovh.net incrond[252]: starting service (version 0.5.10, built on Mar 20 2014 22:57:12)
lut 26 10:41:32 serwer.ovh.net incrond[270]: loading system tables
lut 26 10:41:32 serwer.ovh.net incrond[270]: loading user tables
lut 26 10:41:32 serwer.ovh.net incrond[270]: loading table for user root
lut 26 10:41:32 serwer.ovh.net incrond[270]: ready to process filesystem events
lut 26 10:41:32 serwer.ovh.net systemd[1]: Started file system events scheduler.
lut 26 10:44:10 serwer.ovh.net incrond[270]: (root) CMD (/usr/bin/whoami >> /tmp/test.log)
lut 26 10:44:10 serwer.ovh.net incrond[270]: (root) CMD (/usr/bin/whoami >> /tmp/test.log)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ale plik jest?

 

Zobacz z ciekawości (jeśli jest pusty plik):

/etc/ IN_MODIFY,IN_CREATE,IN_DELETE /usr/bin/whoami >> /tmp/test.log 2>&1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie tworzy w ogóle pliku zarówno w wersji poprzedniej jak i po zmodyfikowaniu teraz.

Utworzyłem testowo plik i też nie dodaje do istniejącego.

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przetestowałem to u siebie i szczerze mówiąc ciekawy jest tylko problem z potokami, bo faktycznie przykład z whoami nic nie loguje (jak użyjemy np. touch to plik się tworzy). Natomiast odpaliłem sobie regułkę:

/etc IN_MODIFY,IN_CREATE,IN_DELETE /bin/sh /root/testincron

(tylko i wyłącznie ta jedyna reguła) i skrypt z Twoją zawartością się bez problemu uruchomił.

#!/bin/sh

date +"%m/%d/%Y %H:%M:%S $HOSTNAME" >> /root/log.txt


Jeśli nie "date" to spróbuj użyć zwykłe "touch /root/test" czy przynajmniej skrypt startuje.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przekopiowałem i zadziałało.

Nie wiem co było nie tak.

Dzięki wielkie za pomoc.

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ć  

×