Forumi


Povratak   PC Ekspert Forum > Računala > DIY i Tinkering
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 04.03.2018., 17:15   #751
tintin
Premium
Moj komp
 
tintin's Avatar
 
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
tintin je offline   Reply With Quote
Staro 05.03.2018., 00:39   #752
lepak
Registered User
 
Datum registracije: Feb 2011
Lokacija: Doma
Postovi: 47
Citiraj:
Autor tintin Pregled postova
*/1 * * * * root /usr/local/bin/IspravakDateTime.sh
makni to "root", odakle si to pokupio?
lepak je offline   Reply With Quote
Staro 05.03.2018., 08:01   #753
Morpheous
Premium
Moj komp
 
Morpheous's Avatar
 
Datum registracije: Oct 2006
Lokacija: zg
Postovi: 1,028
Citiraj:
Autor lepak Pregled postova
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".
__________________
Free your mind and open your eyes
Morpheous je offline   Reply With Quote
Staro 05.03.2018., 09:26   #754
tintin
Premium
Moj komp
 
tintin's Avatar
 
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.
tintin je offline   Reply With Quote
Staro 06.03.2018., 01:02   #755
lepak
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
lepak je offline   Reply With Quote
Staro 06.03.2018., 09:03   #756
Morpheous
Premium
Moj komp
 
Morpheous's Avatar
 
Datum registracije: Oct 2006
Lokacija: zg
Postovi: 1,028
Citiraj:
Autor lepak Pregled postova
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

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.
Morpheous je offline   Reply With Quote
Staro 06.03.2018., 10:19   #757
tintin
Premium
Moj komp
 
tintin's Avatar
 
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.
tintin je offline   Reply With Quote
Staro 06.03.2018., 11:57   #758
bilbi
Premium
Moj komp
 
bilbi's Avatar
 
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"
bilbi je offline   Reply With Quote
Staro 06.03.2018., 12:31   #759
tintin
Premium
Moj komp
 
tintin's Avatar
 
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.
tintin je offline   Reply With Quote
Staro 06.03.2018., 13:07   #760
bilbi
Premium
Moj komp
 
bilbi's Avatar
 
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
bilbi je offline   Reply With Quote
Staro 06.03.2018., 17:57   #761
Morpheous
Premium
Moj komp
 
Morpheous's Avatar
 
Datum registracije: Oct 2006
Lokacija: zg
Postovi: 1,028
Citiraj:
Autor tintin Pregled postova
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.
__________________
Free your mind and open your eyes

Zadnje izmijenjeno od: Morpheous. 06.03.2018. u 18:07.
Morpheous je offline