bash - użycie inotify dla aktywacji skryptu po dodaniu plików do katalogu

Potrzebujesz pomocy z C, C++, perl, python, itp.
Serantor
Posty: 7
Rejestracja: 19 kwietnia 2010, 14:50

Post autor: Serantor »

Nie ma to jak zrozumieć czytany tekst :D Już wiem o co chodzi z tym okienkiem, dziękuję. Ze zmiennymi kombinuję, bo skrypt.sh musi wykonać operacje na pliku, który pojawia się w /home/uzytkownik/folder/.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Serantor pisze:Ze zmiennymi kombinuję, bo skrypt.sh musi wykonać operacje na pliku, który pojawia się w /home/uzytkownik/folder/
Ja rozumiem co chcesz osiągnąć. Nie rozumiem tylko czemu chcesz kombinować z zapisywaniem zmiennej do pliku, a potem pobieraniu jej w skrypcie z tego pliku. Przecież wykonując skrypt powłoki z parametrem:

Kod: Zaznacz cały

./jakisskrypt.sh parametr
wartość tego parametru jest dostępna pod zmienną $1 (tak bardzo ogólnie to przedstawiłem - parametrów oczywiście może być więcej, polecam przeczytać jakiś kurs bash'a).
Serantor
Posty: 7
Rejestracja: 19 kwietnia 2010, 14:50

Post autor: Serantor »

Kombinuję, bo dopiero zaczynam przygodę z bashem.
Nie mogę sobie poradzić z tym incronem dalej. Dodałem tabelę

Kod: Zaznacz cały

/home/uzytkownik/folder/ IN_CREATE /home/uzytkownik/plik.sh
w pliku plik.sh znajduje się

Kod: Zaznacz cały

#!/bin/bash
echo "hello"
Jeśli wywołam plik.sh z konsoli to zwraca hello, jednak jeśli wrzucę jakiś plik do folderu /home/użytkownik/folder/ to nic się nie dzieje. Sprawdzałem poprzez:

Kod: Zaznacz cały

incrontab -l
i tablica jest na pewno zapisana, prawa dostępu ustawione na 777 zarówno dla plik.sh jak i dla /home/użytkownik/folder/.

Edycja:
Przeładowałem też tablice przez:

Kod: Zaznacz cały

incrontab -d
nic nie pomogło.
Roger Żywopłot
Posty: 1
Rejestracja: 06 grudnia 2010, 14:01

Post autor: Roger Żywopłot »

Witam społeczność.
Czy ktoś może się orientuje w jaki sposób można przechwycić zdarzenie usunięcia pliku dzięki incrontabowi? Dokumentacja wspomina o użyciu IN_DELETE, a u mnie (Squeeze) niestety nie chce działać.

Kod: Zaznacz cały

/home/[B]użytkownik[/B]/plik IN_DELETE /home/[B]użytkownik[/B]/skrypt.sh
Próbowałem oczywiście różnych kombinacji w/w ...i nic. IN_CREATE za to działa.
Dziękuję za odpowiedź.
ODPOWIEDZ