如何在Windows计划任务中运行PostgreSQL备份Python脚本?
如何通过Windows计划任务自动运行PostgreSQL备份脚本
我使用某仓库的脚本备份PostgreSQL数据库,手动执行的命令为:
python postgres_manager.py --configfile psql.config --action backup --verbose VERBOSE
请问如何通过Windows计划任务运行该脚本?
操作步骤
1. 准备批处理文件(推荐)
Windows计划任务直接执行Python命令容易出现路径或环境变量问题,建议先写一个批处理文件简化执行:
- 在脚本所在文件夹新建文本文件,重命名为
pg_backup.bat - 编辑内容,替换为你的实际路径:
@echo off cd /d "D:\你的脚本存放文件夹绝对路径" "你的Python安装路径\python.exe" postgres_manager.py --configfile psql.config --action backup --verbose VERBOSE exit
说明:如果Python已添加到系统环境变量,可直接用python代替完整路径;cd /d用于切换到脚本目录,确保能读取到psql.config配置文件
2. 创建Windows计划任务
- 打开「任务计划程序」(通过开始菜单搜索即可找到)
- 点击右侧「创建基本任务」,按向导完成基础设置:
- 名称:自定义任务名称,比如「PostgreSQL每日自动备份」
- 触发器:选择备份频率(如每天、每周),设置具体执行时间
- 操作:选择「启动程序」
- 程序或脚本:若使用批处理文件,选择
pg_backup.bat的绝对路径;若直接执行Python,填写Python.exe的完整路径(如C:\Python3.10\python.exe) - 添加参数:若直接执行Python,在此处填入
postgres_manager.py --configfile psql.config --action backup --verbose VERBOSE(需确保脚本和配置文件为绝对路径,或设置好任务的「起始于」目录) - 起始于:若直接执行Python,填写脚本所在文件夹的绝对路径,确保程序能找到相关文件
- 完成向导时勾选「当单击完成时,打开此任务属性的对话框」,点击「完成」
3. 优化任务属性避免执行失败
在任务属性窗口中调整以下设置:
- 「常规」标签:勾选「不管用户是否登录都要运行」,若需要管理员权限则勾选「使用最高权限运行」
- 「设置」标签:勾选「允许任务按需运行」,按需取消「如果任务运行时间超过X小时就停止」的限制
- 「条件」标签:若服务器使用电池供电,可取消「只有在计算机使用交流电源时才启动此任务」的勾选
4. 测试任务有效性
在任务计划程序中找到新建的任务,右键选择「运行」,检查是否生成预期的备份文件;若执行失败,可通过「任务历史记录」查看报错信息排查问题
内容的提问来源于stack exchange,提问作者new_developer
相关产品推荐
相关产品推荐

