Planifier une execution avec at
Lorsque l’on souhaite planifier de façon régulière l’exécution d’une commande ou d’un script, le plus efficace reste l’utilisation de cron. En revanche, lorsqu’il s’agit d’une action unique, il existe une commande linux très pratique : at. L’utilisation de base pour une planification dans la journée est assez simple. Il suffit de faire suivre at de l’heure à laquelle on souhaite exécuter la commande ou le script en concaténant les heures et les minutes. Après avoir pressé la touche <entrée> un prompt s’ouvre pour y tapper la ou les commandes souhaitées chacune suivie d’<entrée>. Après la dernière commande, un Ctrl+D validera la planification. Par exemple, pour lancer le script synchro.sh aujourd’hui à 23h30 :
$ at 2330 warning: commands will be executed using /bin/sh at> sh ~/synchro.sh at> job 7 at Tue Jun 29 23:30:00 2010 $ |
Plusieurs options sont proposées pour personnaliser un peu plus l’exécution. On peut citer en particulier le paramètre -l permettant de lister les planifications en cours :
$ at -l 7 Tue Jun 29 23:30:00 2010 a username $ |
ou encore la commande atrm suivie de l’id de la tâche pour la supprimer.
$ at -l 7 Tue Jun 29 23:30:00 2010 a username $ atrm 7 $ at -l $ |
Pour le manuel de la commande, c’est par là.
Créer son CV en LaTeX avec moderncv
moderncv est une classe de document pour LaTeX permettant de mettre en forme son CV de façon propre, lisible et dans un design moderne (d’où son nom!). Cette classe est disponible dans le paquet TeXlive. Par rapport à d’autres classes de ce type, elle a l’avantage de supporter quelques options intéressantes comme deux mises en page différentes (version « casual » ou « classic ») ou un choix de couleur de bordures parmi le bleu, le vert, l’orange, le rouge ou le gris. L’exemple fourni par l’auteur de cette classe est bien documenté et permet de réaliser rapidement son CV en s’en inspirant. En version « classic bleu », le mien ressemble à ça :
Autant dire que j’en ai définitivement fini avec les CV créés sous Word (ou Open Office) ! Encore une preuve de la puissance de LaTeX.
[EDIT ] : Voir comment mettre à jour le package moderncv pour avoir accès à toutes les balises de l’exemple.
[EDIT 2] : A la demande générale (!!), je mets en ligne le .tex de mon CV : cv.tex.
Notifications depuis le shell
Voilà déjà un moment que les bulles de notification ont fait leur apparation sur des distributions linux (je pense en particulier à Ubuntu ou Kubuntu). Je les trouve personnellement très pratiques et bien intégrées. Du coup, pourquoi ne pas s’en servir pour une utilisation plus personnelle depuis un terminal?
Prenons un exemple concret dans le cadre du développement d’un site web avec le framework PHP Symfony (comme ça je commence un peu à en parler…). La tâche Symfony doctrine:build-all-reload permet de reconstruire la base de données, regénérer les classes d’abstraction et remplir la base avec les données qu’on lui fournit. Bref, dans le cadre d’un projet qui devient important, cette tâche peut prendre facilement une dizaine de minutes. Il peut alors être intéressant d’être alerté une fois ceci terminé plutôt que de surveiller régulièrement son terminal. C’est là que la commande notify-send intervient. Pour pouvoir l’utiliser :
sudo apt-get install libnotify-bin |
Puis pour faire apparaitre un premier message :
notify-send "Test notification" |
Pour le moment c’est assez simple. Mais bien entendu, comme toujours, il existe un certain nombre de paramètres pour personnaliser tout ça. Les deux principaux selon moi sont :
- -t <temps_en_millisecondes> qui permet de spécifier le temps (en millisecondes) au bout duquel le message expirera.
- -i <chemin_vers_icone> qui permet d’ajouter une icone dans la bulle de notification. Très pratique pour que l’avertissement soit plus visuel.
Revenons à notre exemple. Dans un premier temps, j’ai créé à la racine de mon répertoire personnel un dossier .notify dans lequel j’ai copié une icone représentant le logo de Symfony. J’ai ensuite rajouté un alias pour ma commande dans mon .bashrc. La commande qui doit être executée comprend la commande Symfony suivi d’une notification (d’où le && entre). Ce qui donne ceci :
alias sf-doctrine-build-all-reload='sf doctrine:build-all-reload --no-confirmation && notify-send -i ~/.notify/sf.png "doctrine:build-all-reload done"' |
On obtient tout de suite quelque chose de plus sympa!
Et voilà! C’est facilement adaptable à d’autres alias ou scripts en tout genre et ça a quand même de la gueule! Pour la manuel, c’est par là. Pour les spécifications complètes de la commande, c’est par ici.
sl ou comment s’auto-flageller
Tous les utilisateurs de linux familiers avec la ligne de commande se sont retrouvés un jour avec cette faute de frappe :
user@server:~# sl -bash: sl: command not found user@server:~# |
De façon à se punir de cette coquille, il existe une commande dont la description est plutôt claire :
sl – display animations aimed to correct users who accidentally enter sl instead of ls.
Cette commande fait passer un train en ASCII dans le terminal. Pour couronner le tout, on ne peut d’une part pas tuer le processus (à moins de spécifier le paramètre -e mais là c’est clairement plus une faute de frappe !!!) et d’autre part les principaux paramètres à la commande ls, à savoir le -l et le -a, sont également implémentés dans sl. Le premier affichera un train plus petit et le second fera appeler au secours les passagers avec des « help! ».
Bref, c’est inutile, énervant et relève du masochisme : autant dire indispensable! Donc pour l’installer c’est comme d’habitude :
sudo apt-get install sl |
Et le manuel est là : manuel sl.









