PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   DIY i Tinkering (https://forum.pcekspert.com/forumdisplay.php?f=74)
-   -   Raspberry Pi (https://forum.pcekspert.com/showthread.php?t=220756)

tintin 04.03.2018. 17:15

ls -la daje ovo za /usr/local/bin/ :
drwxr-sr-x 3 root root 4096 Ožu 3 17:39 .
drwxr-sr-x 10 root root 4096 Ruj 25 2013 ..
drwxr-sr-x 2 root root 4096 Ruj 25 2013 indiecity
-rwxr-xr-x 1 root root 104 Ožu 3 18:11 IspravakDateTime.sh

U crontabu je linija (za test stavljena da se pokreče svaku minutu):

*/1 * * * * root /usr/local/bin/IspravakDateTime.sh

Na folderu u kojem je skripta (/usr/local/bin/) su prava rwxr-sr-x (2755) vlasnik je root.

Ne koristim user crontab (crontab -e) nego system crontab (/etc/crontab), ali nema razlike ako i isti zadatak stavim u user crontab isto mi javlja grešku.

Prije nisam to primjetio, ali izgleda da mi ne radi ni ova linija koju sam dodao za čišćenje cachea:
05 * * * * root echo 3 > /proc/sys/vm/drop_caches

I imam onu jednu prazu liniju na kraju koja nekima radi ponekad probleme.

wtf

lepak 05.03.2018. 00:39

Citiraj:

Autor tintin (Post 3170093)
*/1 * * * * root /usr/local/bin/IspravakDateTime.sh

makni to "root", odakle si to pokupio?

Morpheous 05.03.2018. 08:01

Citiraj:

Autor lepak (Post 3170190)
makni to "root", odakle si to pokupio?


Tako je, riječ "root" nije potrebna. Potrebno je samo namjestiti vrijeme i nakon toga putanju do skripte, naredbu ili nešto treće što želiš da se podesi u to vrijeme. Prava bi trebala biti ok jer ostali useri imaju "x".

tintin 05.03.2018. 09:26

Postoje dvije vrste crontaba.
Jedan je sistemski (/etc/crontab) i kod njega se obavezno piše linija user tj. u ovom slučaju root, a drugu je user crontab (/var/spool/cron/crontabs) i pošto je on vezan za usera u njega ne ide linija user tj. root tako da nije u tome problem.
Jednostavnije me je to sve staviti u /etc/crontab...
Nikakve razlike vezano za moj problem nema radim li to u jednom ili drugom crontabu tj. uvijek dobivam grešku Permission denied.
Prije nisam to primjetio ali ne rade mi niti predefinirani cron jobovi (hourly, daily...) tako da ne kužim u ćemu je caka više.
Na etc/crontabu su bile privilegije 0755...ne radi
Stavio sam na 0644...opet ne radi
Vlasnik svih fajlova i foldera je root.
Skripta je postavljena na 0755 tj. executable je...

service cron status daje poruku:
[ ok ] cron is running.

lepak 06.03.2018. 01:02

ajme to su neke systemd sheme nove bice ;D ne znam ja sam davni slackware linux korisnik, prvi put cujem..,
to su bice ove nove ubuntu post-root idiotarije... ko fol.. root si i moras imati user account.. pa onda kao root postaviti cron za tog usera i ostale windows gluposti :D

uglavom ako si samo editirao fajl to nije dovoljno, moras ga "istalirati" .. napravi crontab /ime/fajla (ako nisu i to izmjenili) ili jednostavno sa crontab -e

Morpheous 06.03.2018. 09:03

Citiraj:

Autor lepak (Post 3170574)
ajme to su neke systemd sheme nove bice ;D ne znam ja sam davni slackware linux korisnik, prvi put cujem..,
to su bice ove nove ubuntu post-root idiotarije... ko fol.. root si i moras imati user account.. pa onda kao root postaviti cron za tog usera i ostale windows gluposti :D

uglavom ako si samo editirao fajl to nije dovoljno, moras ga "istalirati" .. napravi crontab /ime/fajla (ako nisu i to izmjenili) ili jednostavno sa crontab -e


Mislim da to nema veze sa systemd. Njega doslovce muče prava na nešto. Ili je u crontabu krivo napisana putanja do filea, ili je neko slovo veliko umjesto malog ili obrnuto. Ovo gore bi moralo raditi ako je skripta ok, ako su nazivi ok i ako je putanja ok. Prava nam je poslao i to je u redu.

Evo, ja sam probao na red hat 7 koji koristi systemd napraviti najjednostavniji unos koji će svake minute upisivati riječ "bok" u tekstualni file i to mi uredno radi.

Tintin - evo primjer:


> crontab -e #unešeno u crontab ovo ispod

*/1 * * * * echo bok >> /tmp/proba.txt # upisivanje svake minute "bok" u "proba.txt"

> cat /tmp/proba.txt #isčitavanje dokumenta nakon nekoliko minuta

bok
bok
bok
bok


Nema potrebe za dodavanjem usera u crontab ili bilo što slično - crontab se po defaultu od vijeka vijekova editirao sa crontab -e i to je preporuka. Ajde probaj staviti skriptu u neki folder unutar root direktorija (znači "/" a ne "/root" lokacija), gdje su prava 777, stavi prava na skriptu 777 i probaj sa crontab -e unijeti da se skripta pokreće. Ovo su najbolji načini za testirati kada sumnjaš na problem s pravima.

tintin 06.03.2018. 10:19

Isprobano, ali na žalost opet imam Permission denied.
Ne kužim više u čemu je problem. Da su samo neka prava morao bi barem pokrenuti u sistemskom crontabu predefinirane poslove (po satu, danu, tjednu...), a i za njih javlja istu grešku kao i za ove kad ih stavum u user crontab (crontab -e).

Koja prava ima tj. treba imati sam crontab file 0644, 0755, 0777 ?
Vidim po netu da ima i 4755.

bilbi 06.03.2018. 11:57

Napiši sadržaj skripte.
Moguće je da je environment od root usera kad ga pokrećeš iz skripte različit (manje toga obuhvaća, tipa path) od env. kad ga pokrećeš iz shella.
Stavi apsolutne pathove do svakog od programa što ga pokrećeš u toj skripti. Znači umjesto "ls nešto" napiši "/bin/ls nešto"

To doduše ne objašnjava situaciju da ti ne rade ni predefinirani jobovi iz cron.daily itd.
Pejstaj i greške iz log datoteka od cron servisa. Probaj: "journalctl |grep cron"

tintin 06.03.2018. 12:31

To je skripta:
#!/bin/sh
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"


Kakve god korekcije radio na njoj (ili nekoj drugoj skripti) dobivam istu grešku.

bilbi 06.03.2018. 13:07

Možda je sudo problematičan, no sad sam se sjetio da ga koristiš na raspbianu koji ne traži unos lozinke.
Zamijeni tai red sa
/bin/touch /tmp/foo
pa vidi da li će ti nastati ta datoteka.

P.S. tko ti javi "permission denied"? To očitavaš iz nekog loga ili?

Morpheous 06.03.2018. 17:57

Citiraj:

Autor tintin (Post 3170636)
Isprobano, ali na žalost opet imam Permission denied.
Ne kužim više u čemu je problem. Da su samo neka prava morao bi barem pokrenuti u sistemskom crontabu predefinirane poslove (po satu, danu, tjednu...), a i za njih javlja istu grešku kao i za ove kad ih stavum u user crontab (crontab -e).

Koja prava ima tj. treba imati sam crontab file 0644, 0755, 0777 ?
Vidim po netu da ima i 4755.


Dosao sam doma i provjerio: ovo su prava na mom raspbianu.....

rw-r--r-- 1 root root 722 Sep 5 2015 /etc/crontab


Ponovio sam isti test kao i na red hat-u i sve radi ok. Ne kuzim.


Saljem ti ispis svog crontaba iz /etc/crontab za usporedbu:

# cat /etc/crontab


# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#



Koristenjem "crontab -e" zapis se uredno zapise na lokaciju
/var/spool/cron/crontabs/root i radi.

Nemam ideje do cega bi moglo biti vise. Muci me taj Permission denied kojeg spominjes. Kao da pokusava citati neki file koji ne postoji.



Da eliminiramo sudo unutar skripte kako je kolega ranije rekao (sudo radi probleme ako ga koristis kao root user jer nije namijenjen za njega), ajde probaj u cron staviti samo onaj moj jednostavan primjer da vidis da li ce ti u /tmp stvoriti datoteku proba.txt i puniti je s rijeci bok svake minute, a ostale unose iz crontaba backupiraj i obrisi.

lepak 07.03.2018. 00:40

probaj sa "sudo -iu root" u crontab..

ako to ne radi onda nemam pojma.. pogledaj sudoers

tintin 07.03.2018. 11:10

robao sam samo ovo user crotabu:
*/1 * * * * echo bok >> /tmp/proba.txt
Opet mi javlja permission denied grešku

Isto sam probao u system crontabu:
*/1 * * * * root echo bok >> /tmp/proba.txt
I tu imam permission denied grešku

tintin 07.03.2018. 11:41

ovo je sudoers:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL




Kad u putty upišem:
groups root

dobijem:
root : root indiecity

Možda root usera treba dodati u još neku grupu?

Morpheous 07.03.2018. 12:16

Root usera nemoj dirati niti dodavati u grupe. Root kao user ima uvijek prava na sve (osim ako ga ti baš ideš ručno ograničavati, ali po defaultu ima pravo na sve). Sudo se ne koristi za root usera, već sudo tjera administratore da koriste svoje accounte radi sigurnosti, logiranja što se radi, tko to radi isl. a ako želi napraviti neku zahtjevniju radnju, npr. pormjenu IP adrese, onda koristi sudo kako bi privremeno samo za tu radnju pokupio root prava i odradio je. Uz određene postavke sve što radi netko pod svojim userom se logira, pa se točno zna što je pokretao, za što je koristio root privilegije isl. Uglavnom, nemoj ništa konfigurirati za root usera.


Jučer navečer sam vidio u nekim starijim postovima da si imao probleme sa cron-om nakon update-a raspberry-a. Moguće da se nešto raspalo kod upgradea, a ako je to slučaj onda je jako teško na forumu preko postova detektirati točno što nije u redu. Meni se ovo desilo jednom na starom raspberry-u 2 kada sam već bio na Jessie distribuciji i pokrenuo sam normalan upgrade paketa. Cijeli OS se nije htio bootati i morao sam sve reinstalirati.

Sada si pretpostavljam na Raspbian Jessie distribuciji. Ajde probaj ovako - obriši cron kao programski paket i zatim ga ponovno instaliraj za slučaj da se nešto pomrdalo kod upgrade-a s njime ili sa nekim dependency paketima o kojima on ovisi.

> apt-get remove cron ### deinstalacija crona

> apt-get install cron ### instalacija crona


Ne znam kako si složio svoj server i ne znam da li će ti se što pomrdati, ali ja bih osobno krenuo ovako jer je to jedini način da budeš siguran da je s cronom sve ok i da su svi fileovi na mjestu. Probao sam kod sebe na raspbianu i sve je prošlo ok. Traje cca 3-4 minute. Nakon toga probaj ponoviti da li moj unos u crontab-u radi (proba.txt.......)

I još nešto - gdje točno vidiš tu poruku "Permission denied"? U nekom logu?

tintin 07.03.2018. 12:25

Permission denied se vidi u syslogu (/var/log/syslog)

Čim ulovim priliku reinstaliram cron pa javim kakvo je stanje

cccp 07.03.2018. 12:33

Imas systemd timere kao drugu opciju.

Morpheous 07.03.2018. 12:48

Citiraj:

Autor tintin (Post 3171123)
Permission denied se vidi u syslogu (/var/log/syslog)

Čim ulovim priliku reinstaliram cron pa javim kakvo je stanje



E, da - i odradi deinstalaciju i instalaciju kao root user, bez sudo.

tintin 07.03.2018. 23:57

Upravo sam odradio deinstalaciju i instalaciju crona.
Na žalost nije se promjenilo ništa. I dalje imam Permission denied grešku.

Morpheous 08.03.2018. 09:02

Citiraj:

Autor tintin (Post 3171485)
Upravo sam odradio deinstalaciju i instalaciju crona.
Na žalost nije se promjenilo ništa. I dalje imam Permission denied grešku.

Nazalost ne znam sto da ti kazem. Jel mozes lupiti naredbu whoami cisto da vidim output da nije neka glupost sa su-anjem i pravima. Ovo napravi nakon sto postanes root user.

tintin 08.03.2018. 09:19

Nakon što upišem whoami ispiše mi root.

Morpheous 08.03.2018. 09:38

Citiraj:

Autor tintin (Post 3171552)
Nakon što upišem whoami ispiše mi root.

To je ok. Sorry frende,pokusao sam. Nadam se da ce netko drugi imati jos ideja.

tintin 08.03.2018. 10:00

Možda je trebalo deinstalirati cron i postavke...apt-get purge cron?

Nemam ni ja više ideja

Uglavnom, veliko hvala na pomoći

Morpheous 08.03.2018. 10:43

Citiraj:

Autor tintin (Post 3171570)
Možda je trebalo deinstalirati cron i postavke...apt-get purge cron?

Nemam ni ja više ideja

Uglavnom, veliko hvala na pomoći


Mozes probati purge pa on obrise bilo sto vezano uz njega.

tintin 08.03.2018. 12:26

Niti purge nije pomoglo....

Inaće, imam pi2 sa raspibianom (debian wheezy).

Ima koji drugi način da se skripte ili komande pokrenu u željeno vrijeme?
Ako imam može kakve upute, link...

Pokretanje skripti na startu/rebootu nije problem...ide preko rc.local i radi dobro

Morpheous 08.03.2018. 14:35

Citiraj:

Autor tintin (Post 3171628)
Niti purge nije pomoglo....

Inaće, imam pi2 sa raspibianom (debian wheezy).

Ima koji drugi način da se skripte ili komande pokrenu u željeno vrijeme?
Ako imam može kakve upute, link...

Pokretanje skripti na startu/rebootu nije problem...ide preko rc.local i radi dobro


Imaš anacron. Sintaksa je malo drugačija, ako se dobro sjećam, ali imaš tutoriala više nego ih možeš pročitati na netu, pa samo zguglaj. Što kažeš da prijeđeš na Jessie distribuciju? ;-)

tintin 11.03.2018. 12:58

Uspio sam anacronom riješiti dnevne, tjedne i mjesečne skripte....Šteta što ne podržava pokretanje manje od dana

tintin 13.03.2018. 09:06

Jel ima ko iskustava sa fcronom na pi-u?

akoj 14.03.2018. 14:53

Danas je izbacena nova verzija: RPi 3 B+
U odnosu na prethodni, novi model ima Gigabit LAN, bolji WIFI modul i neznatno veci clock.

Prezime 14.03.2018. 15:05

Za linux OK, ali za sve drugo tesko se moze nosit sa jeftinim kineskim Amlogic Tv Box-ovima.
Za cijenu gole RPi3+ plocice se moze dobit kompletan box u kutiji sa punjacem, daljincem i S912 8-jezgrenim procesorom.


Sva vremena su GMT +2. Sada je 11:50.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger