# Interface web pour la gestion des sauvegardes d'un serveur web

**URL:** <https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070>\
**Category:** Programmation\
**Created:** [Décembre 19, 2016, 9:46 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070 "2016-12-19T09:46:59Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 19, 2016, 9:46 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/1 "2016-12-19T09:46:59Z")

</div>

Bonjour a tous je suis étudiant et j’aimerai bénéficier de toute aide 😃  
L’objectif est de déléguer la tache de récupération des données aux personne qui ne maîtrisent pas forcément l’administration en ligne de commandes.  
La plupart des solutions efficaces de gestion de sauvegarde Open Source n’offrent pas un moyen graphique d’administration.  
jusqu’à maintenant j’ai réussi a mettre en place un serveur web opérationnel avec une interface web pour se connecter (authentification par session)  
**Ma question maintenant est comment inclure mes script ([script.sh](http://script.sh)) dans un bouton d’exécution qui run mon script sur l’interface web ???**

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Décembre 19, 2016, 10:13 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/2 "2016-12-19T10:13:31Z")

</div>

_La plupart des solutions efficaces de gestion de sauvegarde Open Source n’offrent pas un moyen graphique d’administration._

j’utilise rsync et son interface graphique grsync facilement 🙂  
[http://www.opbyte.it/grsync/](http://www.opbyte.it/grsync/)

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 19, 2016, 10:21 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/3 "2016-12-19T10:21:50Z")

</div>

merci je sais lol 😛 je reformule je voudrais que sa soit sur l’interface web avec un button backup par exemple qui quand on cliquerai dessus le script [rsync.sh](http://rsync.sh) s’execute automatiquement 😃 grand merci a toi en tout cas 😊

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Décembre 19, 2016, 10:50 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/4 "2016-12-19T10:50:06Z")

</div>

voir ce qui peut etre pompé dans webmin 😀

> **[Webmin](https://webmin.com/)**
>
> Powerful and flexible web-based server management control panel

Filesystem Backup fsdump.wbm.gz Backup and restore filesystems using the dump and restore family of commands.

> **[Standard Modules - Downloading and Installing](https://webmin.com/download/#standard-modules)**
>
> Repository Setup The simplest and best way to get Webmin is to use automatic webmin-setup-repo.sh script to configure repositories on your RHEL or Debian derivative systems. It can be done in two easy steps:
> curl -o webmin-setup-repo.sh...

 ![](https://www.debian-fr.org/uploads/default/original/2X/a/a2b2be40240232a1fff4307d4ae3810a5dc75c50.png)

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 19, 2016, 10:59 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/5 "2016-12-19T10:59:18Z")

</div>

ho ho ho merci encore 🙂 je suis passé par tout sa en ce moment j’utilise debian sans interface graphique je veux tout faire en ligne de commande 😛 et sans utiliser une db  
je te remercie pour ton aide precieuse

---

<div class="post-metadata">

**Author:** ![seb-ksl](https://www.debian-fr.org/user_avatar/www.debian-fr.org/seb-ksl/32/2946_2.png) [@seb-ksl](https://www.debian-fr.org/u/seb-ksl)\
**Post date:** [Décembre 19, 2016, 11:05 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/6 "2016-12-19T11:05:15Z")

</div>

Si tu veux faire simple, un script PHP **bien protégé** avec un [`shell_exec`](http://php.net/manual/fr/function.shell-exec.php).

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 19, 2016, 11:19 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/7 "2016-12-19T11:19:54Z")

</div>

voila

 ![](https://www.debian-fr.org/uploads/default/original/2X/0/0a5297eceaec3afcfffcbc7b776f30c35a46bb4c.png)

j’aimerai qu’un «&nbsp;boutton qui execute mon script&nbsp;» soi mis dans la page que j’ai nommé «&nbsp;home.php&nbsp;»

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 21, 2016, 8:14 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/8 "2016-12-21T08:14:20Z")

</div>

Si tu veux un bouton, il faut utiliser un code du type :

```auto
<form action="save.php" method="post">
 <button name="submit" value="submit" type="submit">boutton qui execute mon script</button>
</form>

```

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 21, 2016, 8:37 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/9 "2016-12-21T08:37:08Z")

</div>

merci @Almtesh j’ai reussi a le faire maintenant mon gros souci est que mon [script.sh](http://script.sh) ne s’execute pas ☹ j’ai envie de pleurer serieux lol  
pourtant je lui ai donné les droits j’ai cherché dans php.ini pour permettre a la fonction exec de marcher mais toujours rien

voila mon script.php

```php
<?php
             session_start();
if(!isset ($_SESSION '[simple_login'])) {
        header ("Location:script.php");
       exit();
} 
if (isset ($_POST['action']))
  {
      exec ('/bin/sh /var/www/script.sh');
  }
echo '<form method="post" action="script.php" ?action=yes">
 <input name="exec" type="submit" value="Executer" />
</form>';

?>

```

des suggestions svp ???

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 21, 2016, 8:54 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/10 "2016-12-21T08:54:00Z")

</div>

Il y a peut-être trois choses qui peuvent bloquer l’exécution de ton script : soit ton fichier n’est pas exécutable, soit il y a un erreur qui fait qu’il ne fonctionne pas (ou qu’il ne foctionne pas seulement dans l’environnement du script php), soit son exéctution prend plus de temps que la limite de temps d’exécution de php.  
Dans le premier cas, vérifie son exécutabilité par php avec un petit `ls -l /var/www/script.sh`. Il doit être accessible en lecture et exécution au moins à l’utilisateur `www-data` ou au groupe `www-data` ou à tous les autres (pas conseillé).  
Pour le second cas, essaie de le lancer hors php en tant que l’utilisateur `www-data` et regarde si ça fonctionne.  
Pour le troisième cas, tu peux essayer de lancer le script en tâche de fond à l’aide d’une petit esperluette (`&`) ou d’une autre façon.

Dans tous les cas, si tu n’as pas trop bidouillé ta configuration apache, tu devrais avoir des logs quelque part (genre `/var/log/apache`).

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 21, 2016, 9:07 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/11 "2016-12-21T09:07:06Z")

</div>

le fichier est executable en lui donnant les droits d’execution avec chmod a+x [script.sh](http://script.sh) et lui attribuer les droits 755  
je l’ai meme esseyer manuellement et il marche tres bien et il prend 5 sec pour que la tache soi faite  
ls -l donne ce resultat pr [script.sh](http://script.sh):

```nohighlight
-rw-r----- 1 root www-data 248 déc 19 23:17 script.sh

```

et pour le cas de la config d’apache j’ai fais tres attention j’ai verifier dans les log  
et apres plusieurs test de differente maniere toujours rien 😕

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 21, 2016, 9:13 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/12 "2016-12-21T09:13:08Z")

</div>

Au fait, j’espère que ton script ne s’appelle pas vraiment `script.sh`, ce nom n’est pas conseillé car il ne permet pas de déterminer rapidement la fonction de ce script.

> [@citizen](#):
>
> ```plaintext
> -rw-r----- 1 root www-data 248 déc 19 23:17 script.sh
> 
> ```

Le script n’est exécutable pour personne, il faut lui ajouter les droits d’exécution pour l’exécuter avec un petit `chmod g+x /var/www/script.sh`.

> [@citizen](#):
>
> il prend 5 sec pour que la tache soi faite

Ah ? Et que contient ce sript au juste ?

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 21, 2016, 9:21 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/13 "2016-12-21T09:21:01Z")

</div>

MDRR non il s’appel pas [script.sh](http://script.sh) et il execute la cmd rsync qui me fais des copie de 3 petit fichier d’une autre machine via ssh  
quand je lance le script ./rsynus.sh sa marche tres bien  
et a partir de l’interface web nada

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 21, 2016, 9:25 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/14 "2016-12-21T09:25:13Z")

</div>

> [@citizen](#):
>
> il execute la cmd rsync

Petite question con, tu lances `rsync` ou `/usr/bin/rsync` dans ton script. Si tu lances `rsync`, essaie `/usr/bin/rsync` à la place, juste pour voir…

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 21, 2016, 9:32 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/15 "2016-12-21T09:32:19Z")

</div>

voila mon script

```bash
#!/bin/sh

rsync -ar -t -e ssh machine2@xxx.xxx.xxx.xxx :/home/dossier/mesfichiers /dossier/de/reception

#tout droit reservé :p :p

```

et je met dans le script /usr/bin/rsync a la place de rsync ???

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 21, 2016, 9:44 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/16 "2016-12-21T09:44:17Z")

</div>

Oui, c’est ça.

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 21, 2016, 9:52 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/17 "2016-12-21T09:52:55Z")

</div>

c toujours le meme prob( sa marche manuellement tres bien et ne s’execute pas a partir du bouton dans l’interface web) et je crois que sa a un rapport avec le safe\_mode d’où des fonction tel que exec ou system sont des fonction sensible qui marche que si on desactive safe\_mode enfin je crois

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 21, 2016, 10:22 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/18 "2016-12-21T10:22:13Z")

</div>

Attend une minute, ta copie rsync, tu la fais via SSH. Comment se passe l’authentification SSH ? Une clef privée ? Un mot de passe ? Un ticket Kerberos ?

---

<div class="post-metadata">

**Author:** ![citizen](https://www.debian-fr.org/user_avatar/www.debian-fr.org/citizen/32/5225_2.png) [@citizen](https://www.debian-fr.org/u/citizen)\
**Post date:** [Décembre 21, 2016, 10:27 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/19 "2016-12-21T10:27:00Z")

</div>

avec un passphrase accessible directement "vide"  
j’ai pas de probleme a ce niveau chose dont je suis sur…

un moyen de perfectionner script.php sinon ???

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Décembre 21, 2016, 10:47 UTC](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070/20 "2016-12-21T10:47:29Z")

</div>

Pour l’authentification, tu as aussi le nom de l’utilisateur. Je te suggère un truc du genre `rsync -ar -t -e "ssh -l root" machine2@xxx.xxx.xxx.xxx :/home/dossier/mesfichiers /dossier/de/reception`. Ça peut être `root` ou un autre utilisateur de ton choix, tant que cette utilisateur existe sur la machine distante, a un interpréteur qui lui permet d’exécuter `rsync` (comme `/bin/bash`, `/bin/sh`), a un accès en lecture au dossier `/home/dossier/mesfichiers` et ses sous-dossiers et que le binaire `rsync` se trouve dans le PATH distant.

[Page suivante](https://www.debian-fr.org/t/interface-web-pour-la-gestion-des-sauvegardes-dun-serveur-web/72070.md?page=2)
