Script de sauvegarde automatique des fichiers récenement posés sur votre serveur

Soyez le premier à donner votre avis sur cette source.

Vue 11 609 fois - Téléchargée 793 fois

Description

Ce script permet de récupérer tout les fichiers qui ont été posés sur un serveur depuis la dernière sauvegarde.
Les fichiers sont rassemblés dans un fichier Zip qui est proposé au téléchargement en fin de script.
Il faut le paramétrer en lui indiquant les repertoires à scanner (il fera aussi les sous repertoires) et le repertoire de destination.
Un fichier de conf est géré par le script. Ce fichier contient juste le timestamp de la dernière sauvegarde. Ce qui permet au sscript de savoir depuis quand la sauvegarde n'a pas été faite.

Pensez a supprimer le fichier zip créé aprés l'éxécution du script sous peine de vous retrouver avec un tas d'espace occupé pour rien.

Conclusion :


Améliorations possibles :
Améliorer le paramétrage (par interface ?) des repertoire et de la dernière sauvegarde.
Si le script est trop long, on risque un timeout.

La solution serait du type : une iframe scanne un repertoire, puis quand elle à finis, elle donne à la fenetre mere la liste des fichiers à recuperer. quand le fenetre mere recupere une nouvelle liste, elle indique à sa fille (l'iframe) qu'il faut scanne run autre repertoire. J'ai déjà un script similaire. Mais il faudrait l'adapter.

Je utilisé la librairie pclzip.lib.php,v 1.34 (http://www.phpconcept.net) pour la compression.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_garfield90
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009
-
Tu dis "Un fichier de conf est géré par le script. Ce fichier contient juste le timestamp de la dernière sauvegarde. Ce qui permet au sscript de savoir depuis quand la sauvegarde n'a pas été faite."

Serait ce pas mieux d'utilise, filemtime qui permet de connaitre la date de derniere modification du fichier

http://fr.php.net/manual/fr/function.filemtime.php
Naixn
Messages postés
455
Date d'inscription
mardi 17 septembre 2002
Statut
Membre
Dernière intervention
22 juillet 2007
-
>> Si le script est trop long, on risque un timeout.
-- En début de script, met : set_timeout(0);

>> La solution serait du type : une iframe scanne un repertoire, puis quand elle à finis, elle donne à la fenetre mere la liste des fichiers à recuperer. quand le fenetre mere recupere une nouvelle liste, elle indique à sa fille (l'iframe) qu'il faut scanne run autre repertoire. J'ai déjà un script similaire. Mais il faudrait l'adapter.
-- Si tu parles de trucs en temps réels, essaye le XMLHTTPRequest.
Tu as d'ailleurs une très bonne source qui utilise ça.
http://www.phpcs.com/code.aspx?ID=32681
ravery
Messages postés
34
Date d'inscription
samedi 1 mai 2004
Statut
Membre
Dernière intervention
23 mars 2007
1 -
Réponse à garfield : c'est équivalent, mais j'ai dans l'objectif de stocker plus de choses que ca dans le fichier de conf (les répertoires à sauver, quelques options, ...)
déjà là, un filemtime ne sera plus suffisant.
De plus pour les tests, il est interessant de pouvoir modifier la donnée dans le fichier.
Donc définitivement, non, pas de filemtime.
Désolé.

Réponse à Naixn :
Je vais essayer le set_timeout(0), mais je n'ai pas encore ce genre de problème. C'est juste une extrapolation des problèmes que pourraient rencontrer certains (repertoires contenant moults fichier).
Pour le script en temps réel, Je vais me pencher sur les XmlHttpRequest que je ne connaissais pas, ca a l'air pas mal comme principe. Merci de l'info.
fuckya
Messages postés
125
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
8 juin 2006
-
Je t'ai mis 8 sur 10, en effet j'avais bien besoin d'une source comme celle là ^^

Je t'ai enlevé deux points pour les petits manques.

Tu devrais faire une fonction avec en paramètres : $dossiers_a_lister (+ fonction qui enlève le slash de fin pour pas avoir deux / pour les sous répertoires), $nom_de_larchive (avec le nom du repertoire + creer celui-ci s'il existe pas (voir les umask() + chmod()), $date_maximum_de_modif_des_fichiers

Après ca je pense que ca vaudra un bon 10 ;)
Fran6web
Messages postés
18
Date d'inscription
mercredi 25 août 2004
Statut
Membre
Dernière intervention
2 mars 2008
-
Ton script est vraiment pas mal du tout et très pratique!
Tu devrais faire une option pour pouvoir enregistrer la sauvegarde en format TAR (gz).
Tu devrais aussi faire un array pour les dossiers que l'on veux pas sauvegarder!

Tiens moi au courant STP c'est urgent!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.