![]() |
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 |
Citiraj:
|
Citiraj:
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". |
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. |
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 |
Citiraj:
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. |
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. |
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" |
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. |
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? |
Citiraj:
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. |
probaj sa "sudo -iu root" u crontab..
ako to ne radi onda nemam pojma.. pogledaj sudoers |
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 |
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? |
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? |
Permission denied se vidi u syslogu (/var/log/syslog)
Čim ulovim priliku reinstaliram cron pa javim kakvo je stanje |
Imas systemd timere kao drugu opciju.
|
Citiraj:
E, da - i odradi deinstalaciju i instalaciju kao root user, bez sudo. |
Upravo sam odradio deinstalaciju i instalaciju crona.
Na žalost nije se promjenilo ništa. I dalje imam Permission denied grešku. |
Citiraj:
|
Nakon što upišem whoami ispiše mi root.
|
Citiraj:
|
Možda je trebalo deinstalirati cron i postavke...apt-get purge cron?
Nemam ni ja više ideja Uglavnom, veliko hvala na pomoći |
Citiraj:
Mozes probati purge pa on obrise bilo sto vezano uz njega. |
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 |
Citiraj:
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? ;-) |
Uspio sam anacronom riješiti dnevne, tjedne i mjesečne skripte....Šteta što ne podržava pokretanje manje od dana
|
Jel ima ko iskustava sa fcronom na pi-u?
|
Danas je izbacena nova verzija: RPi 3 B+
U odnosu na prethodni, novi model ima Gigabit LAN, bolji WIFI modul i neznatno veci clock. |
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