Newsgroup: it.comp.os.linux.iniziare
Titolo: cron

Vorrei dare updatedb a mano per evitare di sentire il disco fisso
andare senza che io abbia dato nessun comando.
Adesso e' chiamato dallo script "find" in /etc/cron.daily.
E' corretto togliere i permessi x a questo find invece che togliere
direttamente il file dalla directory, per disattivarlo?
Se e' corretto, poi chi lo deve eseguire a mano quello script? penso
root, ma mi lascia perplesso il fatto che dentro lo script c'e' scritto
che e' "nobody" che lo fa.
Ringrazio in anticipo chi potra' dirmi qcs al riguardo.
-- 
Ciao Minotto

 direttamente il file dalla directory, per disattivarlo?
č piu' corretto togliere la entry di crontab relativa a quello script
(imo)

Il 19-02-2008, RedWiz ha detto:


Scusa ma in crontab di entry non ce ne sono per lo script find, come
per nessun altro, c'e' solo: test -x, guarda: (tolgo qualcosa)
********************
# /etc/crontab: system-wide crontab
# 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 )
************
*******************
# /etc/anacrontab: configuration file for anacron
# These replace cron's entries
1	5	cron.daily	 nice run-parts --report /etc/cron.daily
*********
Puoi dirmi cosa vuoi dire e come fai tu a togliere le entry da crontab?
-- 
Ciao Minotto

 Puoi dirmi cosa vuoi dire e come fai tu a togliere le entry da crontab?
root@antonio:# ls /etc/cron.daily/
certwatch  logrotate  slocate
root@antonio:# less /etc/cron.daily/slocate
#!/bin/sh
/usr/bin/updatedb -c /etc/updatedb.conf
e man run-parts ..
ciao 
-- 
Never try to teach a pig to sing.
It wastes your time and annoys the pig.

e man run-parts ..
Molte grazie, quindi per runparts-are un solo script me lo copio ad
esempio in /root/esegui/ e poi come root do: run-parts ./esegui
Pero' vorrei anche disabilitarlo dal cron.daily, non mi sembra che in
questo che m'hai mostrato ci sia anche il modo di farlo, oppure m'e'
sfuggito?
-- 
Ciao Minotto

> Puoi dirmi cosa vuoi dire e come fai tu a togliere le entry da crontab?
scusami, la mia distro usa un'altro metodo per la gestione del cron.
Se te hai run-parts, sě, vanno  bene i metodi(entrambi) che hai detto te.
Comunque run-parts č un semplice bash-script, puoi modificarlo a tuo
piacimento

 sfuggito?
dalla pagina man:
run-parts automatically skips files with certain suffixes that are 
generally  associated  with  backup  or  extra  files.  Any file that 
ends in one of these will be silently ignored:  ~ ^ , .bak .new 
.rpmsave .rpmorig .rpmnew .swp
quindi aggiungi allo script l'estensione (ad esempio) .bak e lo script non viene
lanciato piu' ... oppure cancella il file ... piu' brutalmente ;-))
ciao ...


lanciato piu' ... oppure cancella il file ... piu' brutalmente ;-))
Da me ho:
-rwxr-xr-x 1 root root  311 2006-10-14 15:39 0anacron
-rwxr-xr-x 1 root root 5041 2007-02-26 22:21 apt
-rwxr-xr-x 1 root root  314 2007-03-14 15:11 aptitude
-rwxr-xr-x 1 root root  502 2007-01-02 18:26 bsdmainutils
-rwxr-xr-x 1 root root  419 2006-08-06 10:12 find
-rwxr-xr-x 1 root root   89 2006-04-09 00:16 logrotate
-rwxr-xr-x 1 root root  946 2007-01-29 13:20 man-db
-rwxr-xr-x 1 root root 3283 2006-12-20 01:02 standard
-rwxr-xr-x 1 root root 1307 2006-05-25 11:38 sysklogd
-rwxr-xr-x 1 root root  766 2007-02-15 14:09 tetex-bin
e io voglio: eseguire SOLO find a mano; e che cron NON me lo esegua.
Cmq dovrebbe andare, da questo che m'avete detto (invece di cancellarlo
gli tolgo le x), fare cosi':
1) copio find in una directory dedicata
2) tolgo le x a /etc/cron.daily/find
3) quando mi pare do: "# run-parts DIRECTORY_dedicata".
Ok, e grazie a entrambi per le info.
-- 
Ciao Minotto


scusami, ma se devi lanciare solo UNO script run-parts non ti serve a
niente ... dai un'occhiata a /usr/bin/run-parts ... non fa altro che "scendere"
in una directory e lanciare tutti gli eseguibili senza le suddette 
estensioni ...
a questo punto ti basta 
$ ./find
oppure (meglio !) ti crei una directory bin nella tua home, ci copi lo
script "find" dentro e in .bash_profile aggiungi
export PATH="/home/utente/bin:$PATH"
cosi' lanci lo script da dove vuoi ...


cosi' lanci lo script da dove vuoi ...
Si' questo ce l'ho gia' e l'ho messo nel .profile di root, grazie della
risposta ma ci sono queste cose che mi perplimono un po':
1) per lanciare lo script come root non ho da fare tante difficolta',
mi basta dare il comando:
# /etc/cron.daily/find
oppure se ho tolto le x:
# . /etc/cron.daily/find
pero' dentro lo script c'e' scritto che e' "nobody" che deve fare
l'updatedb e non root, di qui tutte le mie domande (sicuramente del
tutto ingenue perche' non ho info su questo signor nobody).
2) se copio lo script find in /root/bin/ quando do "# find" chi viene
chiamato e' il vero find in /usr/bin e non lo script... dovrei mettere
prima /root/bin nel path, ma e' un rischio arbitrario assurdo.
3) Piu' semplicemente potrei dare "# updatedb" invece di quel find,
ma mi resta l'incognita di nobody che io non sono in grado di valutare.
-- 
Ciao Minotto

 prima /root/bin nel path, ma e' un rischio arbitrario assurdo.
a parte che non vedo tutto questo rischio nel mettere /root/bin nel
path prima ... ma poi lo puoi rinominare lo script, tipo "myfind" ...
