View Full Version : Cron, Crontab : qualcuno mi spiega come farlo funzionare?
Le domanda è molto semplice. devo utilizzare crontab per lanciare degli script a cadenze regolari. vorrei capire come usare questo strumento perchè sul server dove devo utilizzarlo il file di configurazione etc/cron è di sola lettura...
di solito il ho sempre scritto crontab -e e da qualunque percorso mi si apriva un file editabile. su questo server invece no.
il sistema è centos
grazie tante a chi mi può aiutare. Mi interessa capire come farlo funzionare ed inviare mail.
Saluti.
antenore
15-07-2013, 12:34
su debian quando digiti crontab -e da root in realtà stai modificando il file
/var/spool/cron/crontabs/root
Prova a vedere se su centos è simile ;)
in genere ogni utente (compreso root) ha la sua tabella crontab
vedi i task programmati con: crontab -l
editi/modifichi col comando: crontab -e
p.s.
http://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-autotasks.html
@sacarde, dice che il -e non gli apre l'editor :D
beh io non ho mai usato crontab -e, io mi creo un file con "vi" o quello che ti pare, e poi lo carico con "crontab nomefile", e "crontab -l" per vederlo o salvarlo
dunque il file /etc/crontab che apro con vi è di sola lettura e contiene
$ vi crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
è corretto?? ora io ricordo che aggiungevo righe ad un file col comando crontab -e solo che se lancio crontab -e mi crea un file vuoto...
ok. ho salvato il file mettendo un comando crontab ed ora all'ora indicata mi trovo un file nella cartella /var/spool/mail
Lo ho scoperto perchè mi dice che ho una mail..
You have new mail in /var/spool/mail/user
ora che funziona ho bisogno di qualcosa che invii delle mail a degli indirizzi mail veri e propri..
come si fa? vedo che crontab invia mail all'utente.. posso inviare mail ad un elenco di indirizzi che ho su un file?
prova
http://www.morganino.it/technology/inviare-mail-con-testo-ed-allegato-da-shell-linux/
altrenativa: usare ssmtp
config in: /etc/ssmtp/ssmtp.conf
root=myemailaddress@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=mygmailusername
AuthPass=mypassword
UseSTARTTLS=YES
- - - - - - - - - - - - - -
invio
ssmtp myemailaddress@gmail.com < msg.txt
prova
http://www.morganino.it/technology/inviare-mail-con-testo-ed-allegato-da-shell-linux/
altrenativa: usare ssmtp
config in: /etc/ssmtp/ssmtp.conf
root=myemailaddress@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=mygmailusername
AuthPass=mypassword
UseSTARTTLS=YES
- - - - - - - - - - - - - -
invio
ssmtp myemailaddress@gmail.com < msg.txt
grazie, ho letto!
ho installato il pacchetto sharutils che mi sarà utile...
però credo che il problema sia mail
ho quindi seguito questo sito http://forum.slicehost.com/index.php?p=/discussion/2338/my-guide-configure-centos-and-php-mail-to-use-google-apps-smtp-server/p1
per l'installazione di msmtp ed ho installato msmtp.. solo che non va...
perchè quando provo ad inviare una mail di test ottengo il seguente errore..
[oracle@centos etc]$ echo -e "Subject: Test Mail\r\r\r\n This is a mail test" | msmtp --debug --from=default -t maildestinatario@alice.com]
loaded system configuration file /usr/local/etc/msmtprc
loaded user configuration file /home/oracle/.msmtprc
using account default from /home/oracle/.msmtprc
host = smtp.gmail.com
port = 587
timeout = off
protocol = smtp
domain = localhost
auth = LOGIN
user = [la mia mail@gmail.com]
password = *
ntlmdomain = (not set)
tls = on
tls_starttls = on
tls_trust_file = /etc/pki/tls/certs/ca-bundle.crt
tls_crl_file = (not set)
tls_fingerprint = (not set)
tls_key_file = (not set)
tls_cert_file = (not set)
tls_certcheck = on
tls_force_sslv3 = off
tls_min_dh_prime_bits = (not set)
tls_priorities = (not set)
auto_from = off
maildomain = (not set)
from = default
dsn_notify = (not set)
dsn_return = (not set)
keepbcc = off
logfile = /var/log/msmtp.log
syslog = (not set)
reading recipients from the command line and the mail
msmtp: cannot create socket: Address family not supported by protocol
msmtp: could not send mail (account default from /home/oracle/.msmtprc)
mentre quando invio una mail usando il modo classico mail -s "oggetto" destinatario@gmail.com
la mail mi viene notificata nel file /var/spool/mail/user
suggerimenti??
altra cosa... il file .mailrc che dovrebbe stare sulla home dell'utente va creato a mano?
ho provato a seguirre queste altre guide...
http://quizzlo.wordpress.com/2010/04/28/email-da-shell-prima-parte/
http://quizzlo.wordpress.com/2010/05/04/email-da-shell-seconda-parte/
ancora niente... :(
non ho mai usato msmtp
il comando "mail" in quale pacchetto e' ?
i link mi sembrano ben spiegati
non ho mai usato msmtp
il comando "mail" in quale pacchetto e' ?
i link mi sembrano ben spiegati
Non lo so mail era già presente...
si, crei sia:
~/.msmtprc
che
~/.mailrc
p.s.
su che distribuzione sei?
si, crei sia:
~/.msmtprc
che
~/.mailrc
p.s.
su che distribuzione sei?
Centos
mi sta venendo il dubbio che sia un problema di porte.... come posso controllare?
dici la :
smtp.gmail.com:587
a me funziona ssmtp
p.s.
non e' che msmtp funziona con "mail()" di php ?
dici la :
smtp.gmail.com:587
a me funziona ssmtp
p.s.
non e' che msmtp funziona con "mail()" di php ?
da quello che ho capito msmtp e ssmtp sono la stessa cosa...
vorrei fare la verifica delle porte.. come faccio a sapere se quellaporta è aperta? fatto questo mi concentro sul problema se c'è ma secondo me è un problema di porta..ho provato le configurazioni per gmail e sono smtp.gmail.com:587 quindi... non sto sbagliando..
mmm forse proprio uguali no, hanno 2 file di configurazione diversi (simili)
per la scansione delle porte aperte io uso:
nmap -A -T4 <ipdaesaminare>
mmm forse proprio uguali no, hanno 2 file di configurazione diversi (simili)
per la scansione delle porte aperte io uso:
nmap -A -T4 <ipdaesaminare>
quel comando non mi funziona.. :(
va installato il pacchetto: nmap
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.