martedì 12 giugno 2007

Operazioni pianificate Ubuntu

Per eseguire operazioni pianificate in Ubuntu, procedere col seguente modo.
Se non esiste ancora alcuna operazione pianificata, con un editor di testo creare il file crontab nella cartella /var/spool/cron/crontabs/
La riga di comando per pianificare un'operazione ha la seguente struttura:

min h giornoMese mese giornoSettimana comando parametri

min: minuto in cui eseguire l'operazione (0-59)
h: ora (0-23)
giornoMese: giorno del mese (1-31)
mese: mese (1-12)
giornoSettimana: giorno della settimana (0-6, con domenica = 0)
comando: il comando da eseguire
paramteri: eventuali parametri. Questo campo è facoltativo.

Se per esempio si vuole pianificare l'esecuzione del file jmail.sh alle 15.58 di ogni giorno, si dovrà inserire nella riga:

58 15 * * * ./home/tostao/workspace/javaMail1/jmail.sh

(jmail.sh deve essere reso eseguibile tramite il comando chmod. Vedi post "Creazione di uno shell script per eseguire un JAR", tag JAR, Ubuntu).
Importante: l'ultima riga del file crontab DEVE esistere ed essere vuota!
Per concludere, ora bisogna associare il file crontab creato all'utente di Ubuntu.
Per fare ciò, andare nel terminale e digitare:

sudo crontab -u utente /var/spool/cron/crontabs/crontab

Per verificare che l'operazione è andata a buon fine, digitare crontab -l per vedere le righe contenute nel nostro file crontab.
Per editare tale file, si può lanciare il comando crontab -e , ma personalmente preferisco farlo aprendolo a mano con un editor di testo.
Dopo ogni modifica, è necessario riscrivere il comando scritto poco sopra per associare il crontab all'utente.

lunedì 11 giugno 2007

Creazione di uno shell script per eseguire un JAR

Ubuntu usa shell scripting, paragonabile ai file batch (.bat) di Windows ma molto più potente.
Per associare uno shell script (in genere salvato come .sh anche se l'estensione non è necessaria), aprire un editor di testo e impostare come prima riga:
#!/bin/bash
e in seguito le istruzioni desiderate (nel nostro caso: java -jar nomefile.jar)
Nella parte nomefile.jar è meglio inserire il percorso completo del file JAR per essere sempre sicuri di eseguire quel file, in particolare se si sta eseguendo il file .sh da un'applicazione esterna, come ad esempio crontab (strumento per eseguire operazioni pianificate in Ubuntu).
Salviamo il nostro file come scriptJAR.sh nella cartella del nostro file .jar
Ora bisogna rendere questo file eseguibile: per fare cioè andare nel terminale, spostarsi nella cartella del nostro scriptJAR.sh e digitare:
sudo chmod +x scriptJAR.sh
per rendere il nostro script eseguibile: basterà avviarlo per fare avviare il nostro file JAR.

Esecuzione automatica di un file JAR

Per fare eseguire automaticamente un file JAR, creare con un qualsiasi editor di testo un file con estensione .bat contenente il testo:
java -jar nomefile.jar
e salvarlo nella stessa cartella del file JAR.
Viene così creato un file di batch in grado di eseguire le istruzioni in esso contenute nella riga di comando.
Per settare l'operazione pianificata relativa al JAR in questione, in WindowsXP è necessario andare in Pannello di controllo->Operazioni Pianificate->Aggiungi operazione pianificata. Settare via via i parametri che interessano, quando viene richiesta l'applicazione da fare eseguire andare su "Sfoglia..." e selezionare il file .bat creato precedentemente. Fare attenzione all'utente: nel campo "Esegui come:" inserire NT AUTHORITY\SYSTEM. In questo modo l'operazione pianificata funzionerà sicuramente visto che è stato inserito l'utente root.

mercoledì 6 giugno 2007

Report con scelta da casella combinata

In questo modo si apre un report non di tutti i dati ma solo di quelli relativi al campo scelto nella casella combinata.

DoCmd.OpenReport "Partite", acPreview, , "Giocatore = " & Chr(34) & Me.CasellaCombinata2 & Chr(34)

martedì 5 giugno 2007

Mandare email da form Access

Questo è il codice da inserire al click del pulsante:

DoCmd.SendObject acSendNoObject, , acFormatXLS, Me.email_recipient, , , "Test Email", , True
Dove email.recipient è il contenuto del campo di testo compilato in precedenza.