uno degli aspetti che secondo me sono da conoscere - perché molto potenti e flessibili - è bash script. Chiaramente non possiamo metterci a fare un corso, ma daremo luce ad alcune parti molto utili.
Una cosa mooolto utile è AT per poter eseguire scripts a una certa data, ora.
Questo minicorso ci è offerto da Matteo Adorisio (sapientemente editato da me ;-) ).
Aprite un terminale e digitate:
at ore.minuti gg/mm/aa[enter]
La sintassi gg/mm/aa che descrive il giorno può essere sostituita anche da tomorrow oppure today.
per esempio
elijah@ububook:~$ at 15.00 today
warning: commands will be executed using /bin/sh
dunque tutto ciò che scriverete d'ora in poi verrà interpretato come codice bash (attenzione non funziona l'autocompletamento); di default possono essere eseguiti solo programmi che non richiedono l'avvio di interfaccia grafica.
Altrimenti dovremmo scrivere come prima operazione una cosa del tipo:
at> export DISPLAY=:0 && vlc /home/elijah/Musica/musica.ogg
(at> è già presente sul terminale...)
Dopo aver comunicato in sequenza le operazioni da fare si preme CTRL+D e la shell ci dirà:
at> eot
Veniamo un po' al dunque.
Per gestire i processi ci sono due comandi utili (il resto da sapere: man at):
at -l
visualizza i processi in coda e il loro PID, nel nostro esempio:
elijah@ububook:~$ at -l
1 Mon Mar 31 15:00:00 2008 a elijah
mentre:
atrm PID_PROCESSO
rimuove il processo con PID=PID_PROCESSO
Un esempio dell'utilizzo che si può fare di at.
Mi sono documentato sull'uso di at per poter registrare trasmissioni in streaming e ho trovato molto utile mplayer, un programma dalle potenzialità infinite.
Ad esempio simuliamo una situazione:
Per registrare lo streaming da un sito rtsp://:
at 7.00 tomorrow
warning: commands will be executed using /bin/sh
at> mplayer -dumpstrem rtsp://indirizzo_streaming_da_cui_prendere_ciò_che_ci_piace [enter]
at> eot
Il comando fornisce in output un file stream.dump che può essere ascolatato solo con mplayer.
Per renderlo più portabile lo traformiamo in .wav con:
mplayer -ao pcm stream.dump
converte stream.dump in audiodump.wav e poi volendo in .mp3 con
lame inputfile outputfile
Tutto ciò può essere automatizzato scrivendo degli script bash comunicandoli al sistema attraverso l'opzione:
at -f nomescript.sh ore
(-f esegue un file)
Uno dei miei scripts per rinominare i files: (aka=rinomino.sh)
#!bin/sh
#dichiaro alcune costanti utili
artista="M_Knopfler"
concerto="kill_to_get_crimson"
radio="...."
directory_dest="Concerti_Radio2"
killall mplayer #termino la registrazione, si puo' fare in maniera piu' elegante
cp /home/matador/stream.dump $artista-$concerto-$radio.stream
mv /home/matador/$artista-$concerto-$radio.stream /home/matador/$directory_dest
exit
#qui finisce il file
quindi, avvio la registrazione come spiegato prima e poi alla fine:
$at -f rinomino.sh orafineconcerto
ecco tutto.
spero che sia quasi tutto chiaro.
Matteo oisirodA
ps: ringrazio Matteo per il suo contributo, ne attendiamo ancora!
per ulteriori info man at
ciao
d
Nessun commento:
Posta un commento