Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python运维开发

作者:残情弑天   发布日期:2026-03-10   浏览:71

# Python 运维开发示例代码:自动化备份 MySQL 数据库

import os
import datetime
import subprocess

# 配置信息
DB_HOST = 'localhost'
DB_USER = 'root'
DB_USER_PASSWORD = 'your_password'
BACKUP_DIR = '/path/to/backup/dir'

# 获取当前日期时间,用于命名备份文件
now = datetime.datetime.now()
date_str = now.strftime("%Y%m%d_%H%M%S")

# 构建备份命令
backup_file = f"{BACKUP_DIR}/mysql_backup_{date_str}.sql"
backup_cmd = f"mysqldump -h {DB_HOST} -u {DB_USER} -p{DB_USER_PASSWORD} --all-databases > {backup_file}"

# 执行备份命令
try:
    subprocess.run(backup_cmd, shell=True, check=True)
    print(f"Backup successful: {backup_file}")
except subprocess.CalledProcessError as e:
    print(f"Backup failed: {e}")

# 清理旧的备份文件(可选)
# 可以根据需要设置保留天数
retention_days = 7
old_files = [f for f in os.listdir(BACKUP_DIR) if os.path.isfile(os.path.join(BACKUP_DIR, f))]
for file in old_files:
    file_path = os.path.join(BACKUP_DIR, file)
    if os.stat(file_path).st_mtime < (now - datetime.timedelta(days=retention_days)).timestamp():
        os.remove(file_path)
        print(f"Removed old backup: {file_path}")

解释说明:

  1. 配置信息:定义了数据库主机、用户名、密码以及备份目录。
  2. 获取当前日期时间:使用 datetime 模块生成当前日期时间字符串,用于命名备份文件。
  3. 构建备份命令:使用 mysqldump 命令备份所有数据库,并将输出重定向到指定的备份文件。
  4. 执行备份命令:使用 subprocess.run 执行备份命令,并捕获可能的错误。
  5. 清理旧的备份文件(可选):根据设定的保留天数删除过期的备份文件。

这个脚本可以作为定时任务(例如通过 cron)定期运行,以确保数据库的自动备份。

上一篇:end在python中的用法

下一篇:python 10进制转2进制

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python开发windows应用程序

python中len是什么意思

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站