# Sauvegarder avant l'arrêt du PC

**URL:** <https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 8:38 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091 "2016-02-21T20:38:38Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![sam50](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/898d66/32.png) [@sam50](https://www.debian-fr.org/u/sam50)\
**Post date:** [Février 21, 2016, 8:38 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/1 "2016-02-21T20:38:38Z")

</div>

Bonjour,

J’utilise crontab (je suis sous crunchbang) pour copier toutes les minutes trois fichiers dans le dossier .config et les coller dans un autre dossier. Mais je préférerai que ces copier/coller aient lieu à l’arrêt du PC lorsque j’appuie sur le bouton d’alim (que j’ai configuré sur éteindre). Est-ce possible ? Merci.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 8:38 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/2 "2016-02-21T20:38:43Z")

</div>

[mono]init0[/mono] est le “runlevel” utilisé par “shutdown”.  
Créer un script dans [mono]/etc/rc0.d/[/mono] dont le nom commence par “S00” =\> [mono]/etc/rc0.d/S00monscript[/mono]

```auto
chmod +x /etc/rc0.d/S00monscript # pour le rendre exécutable
chown root:root /etc/rc0.d/S00monscript # pour être sûr qu'il appartienne à root et au même groupe.
```

=========  
S’il fallait aussi que ce script soit activé en cas d’utilisation de la commande “reboot”, ajouter un lien (toujours nommé “S00…”) dans [mono]/etc/rc6.d/[/mono] pointant vers ce script.

EDIT:  
[mono]S…[/mono] =\> lance le script avec l’argument “start”  
[mono]K…[/mono] =\> lance le script avec l’argument “stop”

---

<div class="post-metadata">

**Author:** ![sam50](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/898d66/32.png) [@sam50](https://www.debian-fr.org/u/sam50)\
**Post date:** [Février 21, 2016, 8:38 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/3 "2016-02-21T20:38:45Z")

</div>

Pigé, mais comment faire un script ? car c’est du chinois pour moi.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 8:38 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/4 "2016-02-21T20:38:45Z")

</div>

> [@sam50](#):
>
> … j’utilise crontab (je suis sous crunchbang) pour copier toutes les minutes trois fichiers dans le dossier .config et les coller dans un autre dossier. …

Pourrais-tu nous transmettre la ligne «&nbsp;crontab&nbsp;» (et le script appelé qui va avec, si il en a un) qui permet cette copie toutes les trois minutes ?  
Avec ces informations, il sera plus facile de créer le script (s’il n’existe pas déjà) pour [mono]/etc/rc0.d/[/mono]

---

<div class="post-metadata">

**Author:** ![sam50](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/898d66/32.png) [@sam50](https://www.debian-fr.org/u/sam50)\
**Post date:** [Février 21, 2016, 8:38 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/5 "2016-02-21T20:38:45Z")

</div>

J’ai juste ajouté ça à crontab :

`*/1 * * * * root cp /home/crunchbang/.config/alarm-clock/alarms.conf /home/crunchbang/OS/Alarm-Clock/alarms.conf
0 8 * * * root cp /home/crunchbang/.config/google-chrome/Default/Bookmarks /home/crunchbang/OS/Bookmarks
*/1 * * * * root cp /home/crunchbang/.config/xpad/* /home/crunchbang/OS/Post-it/`

Au total, ça donne :

[code]# /etc/crontab: system-wide crontab

# Unlike any other crontab you don’t have to run the `crontab’

# command to install the new version when you edit this file

# and files in /etc/cron.d. These files also have username fields,

# that none of the other crontabs do.

SHELL=/bin/sh  
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command

17 \* \* \* \* root cd / && run-parts --report /etc/cron.hourly  
25 6 \* \* \* root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )  
47 6 \* \* 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )  
52 6 1 \* \* root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )  
\*/1 \* \* \* \* root cp /home/crunchbang/.config/alarm-clock/alarms.conf /home/crunchbang/OS/Alarm-Clock/alarms.conf  
0 8 \* \* \* root cp /home/crunchbang/.config/google-chrome/Default/Bookmarks /home/crunchbang/OS/Bookmarks  
_/1 \* \* \* \* root cp /home/crunchbang/.config/xpad/_ /home/crunchbang/OS/Post-it/

# 

[/code]

Merci.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 8:38 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/6 "2016-02-21T20:38:46Z")

</div>

Depuis le compte “root”, dans une fenêtre de terminal, copie/colle les lignes de commandes suivantes (toutes en une seule fois):

`echo -e "#\0041/bin/bash\n#\n# Recopie des fichiers alarmes, post-its, et marques-page de GoggleChrome\n#\ncp /home/crunchbang/.config/alarm-clock/alarms.conf /home/crunchbang/OS/Alarm-Clock/alarms.conf
cp /home/crunchbang/.config/google-chrome/Default/Bookmarks /home/crunchbang/OS/Bookmarks
cp /home/crunchbang/.config/xpad/* /home/crunchbang/OS/Post-it/" >/etc/init.d/cpGoogleAlarmAndOther
ln -s /etc/init.d/cpGoogleAlarmAndOther /etc/rc0.d/S00cpGoogleAlarmAndOther
echo -e "\n\n####### contenu du fichier pointé par le lien symbolique \"/etc/rc0.d/S00cpGoogleAlarmAndOther\": #######"
chmod +x /etc/init.d/cpGoogleAlarmAndOther
cat /etc/rc0.d/S00cpGoogleAlarmAndOther
`

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 8:38 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/7 "2016-02-21T20:38:46Z")

</div>

===========  
Explications:  
la première de ces 3 lignes de commandes est:

`echo -e "#\0041/bin/bash\n#\n# Recopie des fichiers alarmes, post-its, et marques-page de GoggleChrome\n#\ncp /home/crunchbang/.config/alarm-clock/alarms.conf /home/crunchbang/OS/Alarm-Clock/alarms.conf
cp /home/crunchbang/.config/google-chrome/Default/Bookmarks /home/crunchbang/OS/Bookmarks
cp /home/crunchbang/.config/xpad/* /home/crunchbang/OS/Post-it/" > /etc/init.d/`

on y trouve la commande [mono]echo[/mono] avec l’option [mono]e[/mono] qui permet d’interpréter les caractères déspécifiés par une contre-oblique.  
[mono]\0041[/mono] en est un, et permet de faire afficher un “!”,  
[mono]\n[/mono] en sont d’autres qui permettent d’insérer un retour à la ligne.

[mono]#!/bin/bash[/mono] est le shebang de ce script =\> ce script sera interprété par bash.

Les commandes suivantes sont la copie de celles extraites de crontab:  
[mono]cp /home/crunchbang/.config/alarm-clock/alarms.conf /home/crunchbang/OS/Alarm-Clock/alarms.conf  
cp /home/crunchbang/.config/google-chrome/Default/Bookmarks /home/crunchbang/OS/Bookmarks  
cp /home/crunchbang/.config/xpad/\* /home/crunchbang/OS/Post-it/[/mono]

[mono]\> /etc/init.d/cpGoogleAlarmAndOther[/mono]  
permet de créer le fichier [mono]/etc/init.d/cpGoogleAlarmAndOther[/mono] par une redirection [mono]\>[/mono] de la sortie de la commande précédente ([mono]echo[/mono]).

[mono]ln -s /etc/init.d/cpGoogleAlarmAndOther /etc/rc0.d/S00cpGoogleAlarmAndOther[/mono]  
[mono]ln -s[/mono] permet de créer le lien symbolique [mono]/etc/rc0.d/S00cpGoogleAlarmAndOther[/mono] qui pointera sur le fichier [mono]/etc/init.d/cpGoogleAlarmAndOther[/mono]

[mono]chmod +x /etc/init.d/cpGoogleAlarmAndOther[/mono]  
[mono]chmod +x[/mono] permet de rendre “exécutable” le script (le fichier [mono]/etc/init.d/cpGoogleAlarmAndOther)[/mono]  
[mono]cat /etc/rc0.d/S00cpGoogleAlarmAndOther[/mono]  
[mono]cat[/mono] permet de visualiser le contenu du fichier pointé par le lien symbolique [mono]/etc/rc0.d/S00cpGoogleAlarmAndOther[/mono]

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 8:38 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/8 "2016-02-21T20:38:48Z")

</div>

Bon, Ok, je comprends mieux:  
Il y a deux fils avec [le même titre](https://www.debian-fr.org/sauvegarder-avant-l-arret-du-pc-t49214.html) et donc je parle dans le vide…

EDIT:  
[L’autre fil](https://www.debian-fr.org/sauvegarder-avant-l-arret-du-pc-t49214.html) sera plus édifiant concernant ce sujet.  
Voir:  
/etc/init.d/README  
/usr/share/doc/insserv

---

<div class="post-metadata">

**Author:** ![sam50](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/898d66/32.png) [@sam50](https://www.debian-fr.org/u/sam50)\
**Post date:** [Février 21, 2016, 8:39 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/9 "2016-02-21T20:39:00Z")

</div>

[quote=“MicP”]Bon, Ok, je comprends mieux:  
Il y a deux fils avec [le même titre](https://www.debian-fr.org/sauvegarder-avant-l-arret-du-pc-t49214.html) et donc je parle dans le vide…  
[/quote]

Non, non, tu ne parles pas dans le vide, c’est juste que dans l’autre fil on m’a conseillé de venir poser la question dans Programmation.

Merci pour ton script, malheureusement ça ne fonctionne pas, K00cpGoogleAlarmAndOther et cpGoogleAlarmAndOther ont bien était créés.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 8:39 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/10 "2016-02-21T20:39:00Z")

</div>

Merci pour le retour, mais j’étais en erreur.

[mono]fran.b[/mono], par contre, a donné une solution qui tiens compte du fait que c’est maintenant [mono]system.d[/mono],  
alors que moi, j’avais oublié ce fait très important.  
[strike]De plus, je ne suis plus très sûr du [mono]K…[/mono] ou du [mono]S…[/mono][/strike]  
EDIT:  
Maintenant, je suis sûr (et j’ai recorrigé mes posts de ce fil)  
[mono]S…[/mono] lance le script avec l’argument “start”  
[mono]K…[/mono] lance le script avec l’argument “stop”

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 8:39 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/11 "2016-02-21T20:39:02Z")

</div>

J’ai mis à jours mes posts dans ce fil.(remplacé K par S)

==========  
Pour supprimer le script et le lien créé, en root:

```auto

```

==========  
fran.b propose un bien meilleure solution, car elle tiens compte de [mono][systemd](https://refspecs.linuxbase.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html)[/mono], alors que celle que je propose dans ce fil utilise [l’ancien système de démarrage](https://www.debian.org/doc/manuals/debian-reference/ch03.fr.html#_the_configuration_of_the_runlevel) de systemV.

---

<div class="post-metadata">

**Author:** ![anon96191775](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/71c47a/32.png) [@anon96191775](https://www.debian-fr.org/u/anon96191775)\
**Post date:** [Février 21, 2016, 8:39 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/12 "2016-02-21T20:39:04Z")

</div>

> [@MicP](#):
>
> fran.b propose un bien meilleure solution, car elle tiens compte de [mono][systemd](https://refspecs.linuxbase.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html)[/mono], alors que celle que je propose dans ce fil utilise [l’ancien système de démarrage](https://www.debian.org/doc/manuals/debian-reference/ch03.fr.html#_the_configuration_of_the_runlevel) de systemV.

Debian utilise actuellement SysV dans sa version stable, Jessie n’est pas encore publiée 😉

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 8:39 UTC](https://www.debian-fr.org/t/sauvegarder-avant-larret-du-pc/63091/13 "2016-02-21T20:39:11Z")

</div>

Je ne sais pas ce qu’utilise “crunchbang”, mais vu l’évolution de [Sauvegarder avant l’arrêt du PC](https://www.debian-fr.org/sauvegarder-avant-l-arret-du-pc-t49214-25.html) (dans “support debian”), j’avais cru comprendre être hors sujet.
