ZMWS - Forum

Vous n'êtes pas connecté.

#1 11/01/2008 18:51:42

Nicolas
ZazouVictim
Lieu: Epita
Date d'inscription: 09/04/2006
Messages: 76
Site web

Script de sauvegarde en Python (possibilité de tâche cron)

Pour les personnes intéressées, voici un petit script de sauvegarde d'un fichier vers un serveur FTP (je l'avais fait il y a quelques temps et comme je m'en sers sur mon serveur pour le dump quotidien de ma BDD que j'envois sur un serveur FTP externe, je me suis dis que cela pourrait être utile à certains smile) :

# -*- coding: utf-8 -*-

import sys
import os
import string
from time import *
from ftplib import FTP

jour = strftime('%Y%m%d')

serveur = 'ftp.leserveurftp.com' # adresse du serveur FTP
port = '21' # Port du serveur
serveurlogin = 'login' # Le login utilisé pour se connecter au serveur FTP
serveurmdp = 'mdp' # Le mot de passe utilisé pour se connecter au serveur FTP
serveurrepertoire = 'repertoire' # Le nom du répertoire dans lequel sauvegarder son fichier sur le serveur FTP
fichierasauv = 'Daily-Database-Backup '+jour+' 0200.sql' # Le nom du fichier à sauvegarder

try:
    print 'Connexion au serveur...'
    session = FTP()
    connexion = session.connect(serveur,port)
    print 'Connexion reussie a '+serveur+' !'

    bienvenue = session.getwelcome()
    login = session.sendcmd('USER '+serveurlogin)
    print login

    mdp = session.sendcmd('PASS ' +serveurmdp)
    print mdp

    chgrepertoire = session.sendcmd('CWD '+serveurrepertoire)
    print chgrepertoire

    fichieraup = open(fichierasauv, 'rb')
    sauvegarde = session.storbinary('STOR ' + fichierasauv, fichieraup)
    print sauvegarde

    fermerconnex = session.quit()
    print fermerconnex

except:
    print sys.exc_info()[1]

Pour ceux qui veulent l'utiliser en conjugaison de ZMWS sous Windows, il faut une petite astuce pour le mettre dans les tâches planifiées de Windows, il faut que cette tâche pointe vars un script batch comme celui là :

REM on enlève tous les commentaires inutiles qui vont pourrir le fichier de log
@echo off
REM On passe sur le disque dur choisit
chdir /D D:\Serveurs
REM et on execute le script Python de sauvegarde en écrivant ce qu'il renvoit dans un fichier texte (on ne sais jamais)
C:\Python25\python.exe D:\Serveurs\sauvbdd.py > output.txt

Bien sûr on peut enlever les commentaires (REM) du fichier batch.

Sur une distrib Linux avec python et un Cron, il ne devrait pas y avoir de problème quant à l'execution directement depuis la tâche cron.

Nicolas

Dernière modification par Nicolas (11/01/2008 18:52:50)

Hors ligne

 

#2 11/01/2008 22:37:49

xavier
ZazouGourou
Lieu: ZazouLand
Date d'inscription: 09/09/2004
Messages: 2843
Site web

Re: Script de sauvegarde en Python (possibilité de tâche cron)

Yabon ça !!

Je déplace dans les contribs !


http://www.zmws.com/pictures/zmwsbanniere.jpg
Ultimate fighting server : Combattre zazou - Rejoindre le clan !!!
ZMWS Ville : Devenez un habitant

Hors ligne

 

Pied de page du Forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson