Page 1 of 1

script de mise à jour

Posted: Sat Mar 19, 2016 7:21 am
by Alexandre34
Bonjour.
Je suis novice en Linux (raspian jessie), et j'ai besoin d'un conseil pour un petit problème:
Comment faire pour qu'au boot, mon raspberry effectue la tâche suivante:
SI le fichier /home/pi/ftp/player_new existe
ALORS copier /home/pi/player dans /home/pi/player_old
PUIS copier /home/pi/ftp/player_new dans /home/pi/player
PUIS effacer /home/pi/ftp/player_new
PUIS donner les droits d'exécution à /home/pi/player

Bien sûr, je connais les commandes à utiliser (sudo,cp,rm,chmod)
Ce que j'ignore, c'est la partie "logique" (test de présence) et la manière "correcte" de mettre mes commandes dans un script exécuté au reboot.
Merci aux gourou de me donner une piste !

Re: script de mise à jour

Posted: Sat Mar 19, 2016 9:10 am
by JumpZero
Bjr,

tu vas faire ca avec bash, que tu utilises deja pour les commandes que tu as citees. Tu trouveras plein d'info sur le web pour comment utiliser bash, ici tu auras besoin d'utiliser "if" Ex http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-6.html
les operateurs de test de fichiers http://tldp.org/LDP/abs/html/fto.html (sites web trouvés au hasard, il y en a plein d'autres)
Je te conseil d'ecrire un script dans un fichier qui fait ce que tu veux faire, Ex monscript.sh

Code: Select all

#!/bin/bash
            if [ -e /home/pi/ftp/player_new ]; then  # test si fichier existe
               cp /home/pi/player  /home/pi/player_old  # partie de code executee si resultat du if est vrai
               cp JeTelaisseCoderLaSuite.....
            fi
ensuite tu rends ce fichier executable

Code: Select all

chmod +x monscript.sh
Et pour qu'il soit exécuté au boot tu l'appel depuis /etc/rc.local en ajoutant cette ligne a la fin de /etc/rc.local mais avant le exit

Code: Select all

monscript.sh &
Je te laisse chercher sur le web l’utilité du & a la fin de la ligne
Bash est très puissant on peux tout faire avec, mais la syntaxe ... :cry:

Edit: petite precision qui a son importance le script sera execute en tant que root (c'est root qui execute /etc/rc.local au boot)
--
Jmp0

Re: script de mise à jour

Posted: Sat Mar 19, 2016 2:27 pm
by Alexandre34
Ok, c'est clair.
Merci