|
04.03.2018., 17:15 | #751 |
Premium
Datum registracije: Aug 2007
Lokacija: negdje
Postovi: 1,693
|
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 |
05.03.2018., 00:39 | #752 |
Registered User
Datum registracije: Feb 2011
Lokacija: Doma
Postovi: 47
|
|
|
|
Oglas
|
|
05.03.2018., 08:01 | #753 |
Premium
Datum registracije: Oct 2006
Lokacija: zg
Postovi: 1,028
|
__________________
Free your mind and open your eyes |
05.03.2018., 09:26 | #754 |
Premium
Datum registracije: Aug 2007
Lokacija: negdje
Postovi: 1,693
|
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. |
06.03.2018., 01:02 | #755 |
Registered User
Datum registracije: Feb 2011
Lokacija: Doma
Postovi: 47
|
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 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 |
06.03.2018., 09:03 | #756 | |
Premium
Datum registracije: Oct 2006
Lokacija: zg
Postovi: 1,028
|
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.
__________________
Free your mind and open your eyes Zadnje izmijenjeno od: Morpheous. 06.03.2018. u 09:10. |
|
06.03.2018., 10:19 | #757 |
Premium
Datum registracije: Aug 2007
Lokacija: negdje
Postovi: 1,693
|
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. Zadnje izmijenjeno od: tintin. 06.03.2018. u 10:30. |
06.03.2018., 11:57 | #758 |
Premium
Datum registracije: Oct 2010
Lokacija: metropolis
Postovi: 83
|
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" |
06.03.2018., 12:31 | #759 |
Premium
Datum registracije: Aug 2007
Lokacija: negdje
Postovi: 1,693
|
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. |
06.03.2018., 13:07 | #760 |
Premium
Datum registracije: Oct 2010
Lokacija: metropolis
Postovi: 83
|
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? Zadnje izmijenjeno od: bilbi. 06.03.2018. u 13:09. Razlog: perm.denied |
|
|
Oglas
|
|
06.03.2018., 17:57 | #761 | |
Premium
Datum registracije: Oct 2006
Lokacija: zg
Postovi: 1,028
|
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 |