La sauvegarde des données dans les systèmes CMS est cruciale. Lorsqu'un système échoue ou que les données sont perdues, la sauvegarde peut aider à récupérer rapidement et à éviter des pertes importantes. En tant que langage de programmation puissant et facile à utiliser, Python peut implémenter efficacement la fonction de sauvegarde des données du système CMS et prend en charge les opérations de sauvegarde synchronisées automatiques. Cet article montrera comment utiliser Python pour écrire des fonctions de sauvegarde de données pour les systèmes CMS et joindre des exemples de code.
Avant d'écrire la fonction de sauvegarde, vous devez installer la bibliothèque Python pertinente. Terminez l'installation en exécutant les commandes suivantes via la ligne de commande:
pip install pymysql Pip d'installation de PIP
Parmi eux, PyMysql est utilisé pour faire fonctionner la base de données MySQL, et le calendrier est utilisé pour créer des tâches de synchronisation.
La fonction de sauvegarde est principalement responsable de la connexion à la base de données, de l'exécution des opérations de sauvegarde et de l'enregistrement des fichiers de sauvegarde générés au répertoire spécifié. Voici un exemple de fonction de sauvegarde simple:
importer pymysql
Importer DateTime
Importer un système d'exploitation
<p>Def Backup_database (hôte, port, utilisateur, mot de passe, base de données, sauvegarde_path):<br>
essayer:<br>
# Connectez-vous à la base de données<br>
Conn = pyMysql.Connect (host = host, port = port, utilisateur = utilisateur, mot de passe = mot de passe, base de données = base de données)<br>
cursor = conn.cursor ()</p>
<pre class="overflow-visible!"><div class="contain-inline-size rounded-2xl border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-2xl"> Lua </div><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-sidebar-surface-primary text-token-text-secondary dark:bg-token-main-surface-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"><button class="flex gap-1 items-center select-none py-1" aria-label="copie"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-xs"><path fill-rule="evenodd" clip-rule="evenodd" d="M7 5C7 3.34315 8.34315 2 10 2H19C20.6569 2 22 3.34315 22 5V14C22 15.6569 20.6569 17 19 17H17V19C17 20.6569 15.6569 22 14 22H5C3.34315 22 2 20.6569 2 19V10C2 8.34315 3.34315 7 5 7H7V5ZM9 7H14C15.6569 7 17 8.34315 17 10V15H19C19.5523 15 20 14.5523 20 14V5C20 4.44772 19.5523 4 19 4H10C9.44772 4 9 4.44772 9 5V7ZM5 9C4.44772 9 4 9.44772 4 10V19C4 19.5523 4.44772 20 5 20H14C14.5523 20 15 19.5523 15 19V10C15 9.44772 14.5523 9 14 9H5Z" fill="currentColor"></path></svg> copie<span class="" data-state="closed"><button class="flex items-center gap-1 py-1 select-none"></span> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-xs"><path d="M2.5 5.5C4.3 5.2 5.2 4 5.5 2.5C5.8 4 6.7 5.2 8.5 5.5C6.7 5.8 5.8 7 5.5 8.5C5.2 7 4.3 5.8 2.5 5.5Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M5.66282 16.5231L5.18413 19.3952C5.12203 19.7678 5.09098 19.9541 5.14876 20.0888C5.19933 20.2067 5.29328 20.3007 5.41118 20.3512C5.54589 20.409 5.73218 20.378 6.10476 20.3159L8.97693 19.8372C9.72813 19.712 10.1037 19.6494 10.4542 19.521C10.7652 19.407 11.0608 19.2549 11.3343 19.068C11.6425 18.8575 11.9118 18.5882 12.4503 18.0497L20 10.5C21.3807 9.11929 21.3807 6.88071 20 5.5C18.6193 4.11929 16.3807 4.11929 15 5.5L7.45026 13.0497C6.91175 13.5882 6.6425 13.8575 6.43197 14.1657C6.24513 14.4392 6.09299 14.7348 5.97903 15.0458C5.85062 15.3963 5.78802 15.7719 5.66282 16.5231Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M14.5 7L18.5 11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> modifier</div></div></div><div class="overflow-y-auto p-4" dir="ltr"> # Obtenez l'heure actuelle comme nom de fichier de sauvegarde
now = datetime.datetime.now()
backup_file_name = now.strftime("%Y%m%d%H%M%S") + '.sql'
# Effectuer une opération de sauvegarde
sql = 'mysqldump --host={0} --port={1} --user={2} --password={3} {4} > {5}/{6}'.format(
host, port, user, password, database, save_path, backup_file_name)
os.system(sql)
print('Sauvegarde réussie:{0}/{1}'.format(save_path, backup_file_name))
cursor.close()
conn.close()
except Exception as e:
print('La sauvegarde a échoué:', e)
Ce code se connecte à la base de données via PyMySQL et utilise la commande MySQLDUmp pour terminer la sauvegarde. Le nom du fichier de sauvegarde est généré à l'aide de l'heure actuelle pour éviter l'évasion en double.
Pour obtenir une sauvegarde automatique, vous pouvez utiliser la bibliothèque de planification pour définir les tâches de synchronisation. Le code suivant montre comment effectuer des opérations de sauvegarde à 1 h du matin tous les jours:
# Effectuer une sauvegarde
backup_database(host, port, user, password, database, save_path)
calendrier.every (). day.at ("01:00"). do (Job)
Bien que vrai:
schedule.run_pending ()
Temps.
Ce code définit le travail de fonction de tâche de sauvegarde, définit le temps de tâche à l'aide du calendrier et utilise des boucles pour maintenir la tâche exécutée en continu.
Enregistrez le code ci-dessus sous Backup.py et exécutez-le via la ligne de commande:
Python Backup.py
Le programme effectuera automatiquement les sauvegardes de la base de données à une heure spécifiée par jour et enregistrera les fichiers de sauvegarde sur le chemin SET.
Cet article présente comment utiliser Python pour implémenter la fonction de sauvegarde automatique de la base de données MySQL du système CMS. Connectez-vous à la base de données via PYMYSQL, exportez les données à l'aide de MySQLDUmp et exécutez-la régulièrement avec la bibliothèque de planification pour créer facilement une solution de sauvegarde de données stable et fiable. Selon les besoins spécifiques, les scripts de sauvegarde et les configurations de tâches de synchronisation peuvent également être ajustés pour garantir la sécurité des données et la stabilité du système.