Lorsqu’on doit livrer des scripts ou des programmes, on constitue un « package ». C’est la solution classique, mais elle est dépendante de l’OS ou de la distribution utilisée: il faut créer autant de paquet que d’OS (au format txz, deb, rpm, lpp, pkg, etc.). On peut aussi envoyer un fichier au format « tgz
» ou « tar.gz
» avec une procédure d’installation, mais faire de la doc, c’est chiant.
Continue reading
Tag Archives: shell script
Compilateur de scripts shells
j’ai découvert dernièrement shc qui est un compilateur de scripts. Il convertit différents types de scripts (sh
, csh
, ksh
, bash
ou perl
) en un binaire exécutable. Il possède plusieurs options de chiffrement pour éviter de tracer le binaire. Il peut même générer des binaires avec une date d’expiration: utile pour gagner de l’argent grâce à vos talents de développeur 🙂.
Il est compatible avec la plupart des OS de type Unix (AIX, BSD, Linux, Solaris).
Cela peut être la solution lorsque des scripts contiennent des informations sensibles.
Synchronisation de dossier sur un serveur FTP
Voici un petit script qui permet de synchroniser un dossier local sur un serveur FTP. Il utilise lftp
et c’est très pratique si rsyncd ou ssh n’est pas disponible sur le serveur.
Si le dossier n’existe pas sur le serveur distant, il est créé automatiquement et comme l’option « delete » est activée, on s’arrête à la moindre erreur avec l’option --max-errors=0
. Il faudra modifier les variables ftphost
, ftpuser
et ftppass
pour s’adapter à votre configuration.
#!/bin/sh # # $Id$ ftphost="ftp.server.org" ftpuser="my_username" ftppass="my_password" source="$1" destination="$2" rc=1 if [ -z "$source" -o -z "$destination" ] ; then echo "usage: $(basename $0) source destination" exit $rc fi if [ -e "$source" ] ; then lftp --max-errors=0 -c " set ftp:list-options -a open ftp://$ftpuser:$ftppass@$ftphost lcd $source mkdir -f -p $destination cd $destination mirror --reverse --verbose --delete" rc=$? fi exit $rc