Busybox, cron, skriptiranje

Novi ste u svijetu Linuxa? Imate hrpu početničkih pitanja?

Moderator/ica: Moderatori/ce

Pravila foruma
PRAVILA ZA NOVE KORISNIKE LINUXA!
Prije otvaranja bilo kakve diskusije svaki novi korisnik u svijetu Linuxa obavezan je učiniti sljedeće korake:
Pročitati ove tekstove iz naše Wikipedije:
- Sve uvodne tekstove Linuxa za početnike (njih 5)
- Sve što trebate znati o radu s diskovima
- Pročitati ovu temu za početnike
- Pokušati pronaći riješenje problema u Enciklopediji znanja

Nakon toga korisnik smije otvoriti temu s naslovom svog problema uz obaveznu naznaku Linux distribucije koju koristi u formi:
[Linux distribucija, broj verzije, grafičko okruženje]: Naslov problema
U prvom postu korisnik obavezno mora odgovoriti na ova pitanja:
- Da li ima instalirane Windowse?
- Što ga je motiviralo na instaliranje i korištenje Linux distribucije?
- Obavezno je potrebno navesti specifikacije hardvera (Ime Laptopa, tip procesora, grafičke i mrežne kartice, količina RAM-a i diska)

Bez učinjenih ovih prvih koraka, na teme se neće odgovarati i one će biti izbrisane s foruma!
Odgovori
sula21
Postovi: 2
Pridružen/a: 12 vel 2015, 16:25
Spol: M
OS: Busybox

Busybox, cron, skriptiranje

Post Postao/la sula21 »

Imam Ubiquitiev uredjaj za kontrolu AC uređaja (mPower) koji radi na busyboxu. Problem je što uređaj ne radi kako bi trebao odnosno ja očekujem te je potrebno dodatno manualno podešavanje.

Ukratko potrebno mi je da uređaj nakon reboota odvrti naredbu "echo 0 > /proc/power/relay1" nekoliko puta (recimo 3 puta unutar tri minute) te nakon toga ta se naredba prestane izvršavati.

Na Ubiquitievom forumu receno je da se za sve dodatne kontrole editira system.cfg te kroz njega izvrsi cron job. Tako sam unutar /tmp/ editirao system.cfg i dodao ovakav cron job koji radi ono sto treba, a to je gasi Output1 izlaz.

cron.1.job.1.cmd=echo 0 > /proc/power/output1
cron.1.job.1.status=enabled
cron.1.status=enabled
cron.status=enabled

Problem je to što se navedni job stalno izvršava, a ideja je da se odvrti recimo 3 puta, svake minute i nakon toga prekine.
Probao sam i napraviti drugi cron job koji bi nakon 3 minute "ubio" ovaj prvi job, ali bez uspjeha.

Dakle, konkretno pitanje bi bilo kako u busyboxu napraviti job koji ce se odvrtiti odredjeni broj puta. Ili kako sa drugim cron jobom ubiti onaj prvi?

Hvala svima na pomoci!
Avatar
madone
Postovi: 1594
Pridružen/a: 09 srp 2008, 09:49
Spol: M
OS: Debian
Lokacija: Zagreb

Re: Busybox, cron, skriptiranje

Post Postao/la madone »

Gasiš relej tri puta u tri minute. OK
Znači inače je relej stalno ON. To ga pali drugi cron job ?

Evo ti neke ideje, fali ti gore vremenski period kada se izvršava job...
Cron1 job1 se izvršava svake 3min

Kod: Označi sve

cron.1.job.1.schedule=*/3 * * * *
Tu sam ja vidio nneke moguće naredbe
http://community.ubnt.com/ubnt/attachme ... detail.pdf

Ne znam jer ima kod nas na wikiju detaljnije upute za cron. Ako nema za druge opcije pogle recimo https://help.ubuntu.com/community/CronHowto ili proguglaj za primjere različitih postavki za cron.
sula21
Postovi: 2
Pridružen/a: 12 vel 2015, 16:25
Spol: M
OS: Busybox

Re: Busybox, cron, skriptiranje

Post Postao/la sula21 »

U kojem stanju je relay definira mFi kontroler koji se nalazi u cloudu. Znači situacija je sljedeća, na mPower imam spojen recimo klimu koja je upaljena. mPower je syncan sa kontrolerom i relay mu je u ON statusu. E sad, mPower ostane bez struje i naravno klima se ugasi ALI I DALJE ostaje u ON statusu na kontroleru. Što znači da kad ponovo dođe struja, mPower se posynca sa kontrolerom i upali relay. Ova moja skripta bi trebala, u teoriji, gasiti relay toliko dugo dok se nakon reboota mPower ne posynca sa kontrolerom, kontroler jedanput (zbog zapamćenog stanja) upali relay, ali ga skripta odmah zgasi i nakon toga se mPower posynca sa kontrolerom i tamo relay ode u OFF.

Bio sam stavio cron.1.job.1.schedule=*/1 * * * * i to bi radilo super kad bi nakon 3-4 minute mogao isključiti taj job. Jel to moguće?

Ovo na ubnt forumu sam proučio sve, ali ništa nije primjenjivo na ovu situaciju. Pogledat ću još drugi help koji si naveo. Tnx
Odgovori