下面是一个可以实现自动定时备份指定目录的Python脚本。它会将源目录复制到目标目录,并在备份文件夹名称中添加时间戳以便区分不同备份。
#backup_script.py Applyimport shutil
import os
import time
from datetime import datetime
def backup_directory(source, destination):
# 创建带时间戳的备份目录名
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
backup_dir = os.path.join(destination, f"wordpress_backup_{timestamp}")
try:
# 复制整个目录树
shutil.copytree(source, backup_dir)
print(f"备份成功!备份目录: {backup_dir}")
return True
except Exception as e:
print(f"备份失败: {e}")
return False
def scheduled_backup(source, destination, interval_seconds):
print(f"开始定时备份,源目录: {source}, 目标目录: {destination}, 备份间隔: {interval_seconds}秒")
while True:
backup_directory(source, destination)
# 等待指定的时间间隔
time.sleep(interval_seconds)
if __name__ == "__main__":
# 定义源目录和目标目录
source_dir = r"C:\www\WWW\wordpress"
dest_dir = r"D:\phpstudy_pro\WWW"
# 设置备份间隔(这里设置为24小时,即86400秒)
backup_interval = 86400 # 24小时
# 开始定时备份
scheduled_backup(source_dir, dest_dir, backup_interval)
使用说明
- 将上述代码保存为
backup_script.py
- 运行脚本:
python backup_script.py
- 脚本会每24小时(86400秒)执行一次备份
- 备份文件会保存在目标目录下,名称格式为
wordpress_backup_YYYYMMDD_HHMMSS
如果需要修改备份频率,可以调整 backup_interval
的值,单位为秒。例如:
- 3600秒 = 1小时
- 43200秒 = 12小时
- 86400秒 = 24小时(默认值)
注意:运行此脚本需要有足够的权限访问源目录和写入目标目录。建议以管理员身份运行命令提示符或终端。