Je cherche à lancer un script perl juste avant le démarrage de gdm. (j’aimerais aussi qu’il ne se relance pas quand on fait ctrl + alt+ retour). Je cherche aussi à lancer un second script lors de l’arrêt du l’ordinateur.
Je suis sous ubuntu 6.10.
Edité le 25/11/2009 à 21:57
Lors du démarrage du PC, le script télécharge une archive tar.gz sur un serveur ftp. Cette archive contient une partie de mon dossier home, le script la décompresse dans mon home pour le mettre à jour.
Lors de l’extinction du pc, un second script s’occupe de mettre à jour le tar.gz du serveur ftp. L’archive pèse environ 100 ko.
Pour le premier, il faut d’abord que tu vérifies dans /etc/rc2.d le numéro donné à gdm (le lien est du type Sxxgdm je pense, je suis sous Kubuntu donc c’est S13kdm).
Ensuite, tu tapes
sudo update-rc.d nomdetonscript start 12 2 3 4 5 .
(12 parce que c’est inférieur à 13, à adapter à ton cas).
pour le deuxième script, tu tapes
sudo update-rc.d nomdetonscript stop 20 0 1 6 .
PS : bizarre d’utiliser perl pour ne faire que des print et des system :ane:
je vois que tu utilises rsync pour creer ton archive. savais tu que rsync peut fonctionner en reseau directement ? pas specialement besoin de ftp… ssh serait bien meilleur (et plus securise)
Ça m’avait surpris aussi mais sous (k)ubuntu c’est 2 par défaut, et il n’y a aucune différence fondamentale entre 2, 3, 4 et 5 (exactement les mêmes liens dans les /etc/rc[2345].d )
Je suis un peu naz ce soir, alors je me suis planté dans le nom du script avec la commande : sudo update-rc.d save.pl start 12 2 3 4 5 . (sa doit être restaure.pl au démarrage)
Ensuite j’ai fait sudo update-rc.d restaure.pl remove
Est ce que ça a annulé ma connerie ? (je pense que oui)
t’as un if qui est pas bon…
trouve un mini tuto pour la syntaxe bash, c’est tres facile… surtout pour les successions de commandes sans reelle intelligence derriere
admettons que le fichier qui contient déjà l’empreinte md5 s’apelle md5.fich1
tu recalcule l’empreinte dans un nouveau fichier :
md5sum [fichier] > md5.fich2
et tu fais un diff entre les deux
diff md5.fich1 md5.fich2
et tu récupère la valeur de retour de diff
echo $?
si la valeur de retour est égale a 1, c’est que les deux fichiers ne sont pas égaux, si c’est 0 alors les deux fichiers sont égaux
fais attention au nom du fichier que tu test car dans ton fichier d’empreinte tu as également le nom du fichier qui est hashé, si ce nom change entre 2 calcul il te dira que les empreinte ne sont pas égale… alors que c’est juste le nom du fichier qui change
Tu devrais mettre un peu plus de variables pour les noms de fichiers…
car si tu veux changer, tu devras modifier toutes les lignes ou presque et tu risques non seulement de perdre du temps mais aussi de louper des references.
Et si je peux me permettre de nouveau : je suis un maniaque des tests. Je teste chaque resultat de commande en general. Vu que tu remplaces pas mal de fichiers, il serait bon que tu geres un peu les erreurs qui peuvent se produire et eventuellement arreter le script ou restaurer une sauvegarde faite juste avant le dl (et generer un avertissement bien sur). Ca t’eviterais des soucis…
Pour les noms de fichier, peu de chance que je change et si je change je modifierai le script.
Que proposerais-tu comme vérifications supplémentaires ?