中国电力建设集团公司官方网站怎样电脑登录网站

张小明 2026/1/13 10:16:58
中国电力建设集团公司官方网站,怎样电脑登录网站,网络推广诊断分析策划书,制作网站公司选 择乐云seo专家#x1f31f; PostgreSQL数据库在Windows上实现异地自动备份指南-喂饭图文教程 如何在Windows系统上实现PostgreSQL数据库的异地自动备份#x1f4a1; 作者#xff1a;古渡蓝按 个人微信公众号#xff1a;微信公众号#xff08;深入浅出谈java#xff09; 感觉本篇对你有… PostgreSQL数据库在Windows上实现异地自动备份指南-喂饭图文教程如何在Windows系统上实现PostgreSQL数据库的异地自动备份作者古渡蓝按个人微信公众号微信公众号深入浅出谈java感觉本篇对你有帮助可以关注一下会不定期更新知识和面试资料、技巧️ 前期准备确保网络连通确保备份服务器能访问数据库服务器的5432端口安装PostgreSQL客户端在备份服务器上安装PostgreSQL客户端只需安装pg_dump工具即可获取必要信息数据库服务器IPPostgreSQL端口默认5432数据库用户名如postgres数据库密码要备份的数据库名实现步骤 步骤一创建备份脚本在备份服务器上创建一个批处理文件比如pg_backup.bat内容如下/* by yours.tools - online tools website : yours.tools/zh/generatesolanawallets.html */ echo off REM 设置变量 SET PGPATHC:\Program Files\PostgreSQL\16\bin\pg_dump.exe SET BACKUP_DIRD:\pg_backup\ SET DB_HOST数据库服务器IP SET DB_PORT5432 SET DB_USERpostgres SET DB_PASS数据库密码 SET DB_NAME要备份的数据库名 SET DATE%date:~0,4%%date:~5,2%%date:~8,2% SET TIME%time:~0,2%%time:~3,2%%time:~6,2% REM 创建备份目录 if not exist %BACKUP_DIR% mkdir %BACKUP_DIR% REM 执行备份 echo 正在备份数据库... %PGPATH% -h %DB_HOST% -p %DB_PORT% -U %DB_USER% -w -F c -b -v -f %BACKUP_DIR%%DB_NAME%_%DATE%_%TIME%.backup %DB_NAME% REM 传输到远程服务器异地存储 echo 正在传输备份文件到远程服务器... scp %BACKUP_DIR%%DB_NAME%_%DATE%_%TIME%.backup 用户名远程服务器IP:/远程存储路径/ REM 清理临时文件可选 REM del /f /q %BACKUP_DIR%%DB_NAME%_%DATE%_%TIME%.backup echo 备份完成 pause重要提示请将C:\Program Files\PostgreSQL\16\bin\pg_dump.exe替换为你的PostgreSQL实际安装路径将数据库服务器IP、数据库密码、要备份的数据库名等替换为实际值 步骤二配置免密登录可选但推荐为了避免每次备份都要输入密码可以在备份服务器上配置免密登录在备份服务器上创建pgpass.conf文件.pgpass文件格式详解.pgpass文件的每一行必须严格遵循5 个字段的格式/* by yours.tools - online tools website : yours.tools/zh/generatesolanawallets.html */ 主机:端口:数据库:用户名:密码例子说明182.12.14.22:5432:*:postgres:your_password字段值说明主机182.12.14.22PostgreSQL 服务器 IP 地址端口5432PostgreSQL 端口号默认 5432数据库*要连接的数据库名*表示匹配所有数据库用户名postgresPostgreSQL 登录用户名通常是超级用户密码your_password对应用户的密码如果不行可尝试另一个办法创建配置文件在文章最后报错里面的解决办法️ 步骤三设置任务计划程序打开任务计划程序在开始菜单搜索点击创建基本任务命名为PostgreSQL异地备份选择触发器每天凌晨2点避免影响业务选择操作启动程序程序/脚本选择你创建的pg_backup.bat文件完成设置✅ 步骤四测试备份手动运行pg_backup.bat测试脚本检查备份文件是否生成在D:\pg_backup\确认文件是否备份到服务器 实际示例假设你的配置如下PostgreSQL安装路径C:\Program Files\PostgreSQL\16\bin数据库服务器IP192.168.1.105数据库名mydb用户名postgres密码password123远程存储位置那么你的备份脚本应该是echo off REM PostgreSQL异地自动备份脚本 (优化版) REM 1. 修复日期格式问题 (兼容中文/英文系统) REM 2. 添加完整错误检查和日志 REM 3. 优化清理逻辑 (精准删除30天前文件) REM 4. 避免弹窗干扰 (后台静默运行) REM 5.请将C:\Program Files\PostgreSQL\16\bin\pg_dump.exe替换为你的PostgreSQL实际安装路径 chcp 65001 nul :: 解决中文乱码问题 REM export LANGzh_CN.UTF-8 REM export LC_ALLzh_CN.UTF-8 title 异地备份正式数据库程序 REM 配置区域 (请替换为你的实际信息) SET PGPATHC:\Program Files\PostgreSQL\16\bin\pg_dump.exe SET BACKUP_DIRE:\pg_backupData\ SET DB_HOST192.168.1.105 SET DB_PORT5432 SET DB_USERpostgres SET DB_PASSpassword123 SET DB_NAMEmydb REM REMOTE_SERVER 和 REMOTE_PATH 不需要了因为我们直接在备份服务器保存文件 REM REM 1. 创建目录 if not exist %BACKUP_DIR% mkdir %BACKUP_DIR% if not exist %LOG_DIR% mkdir %LOG_DIR% REM 2. 生成时间戳 for /f tokens2 delims %%a in (wmic os get localdatetime /value) do set datetime%%a set DATE%datetime:~0,8% set TIME%datetime:~8,6% set BACKUP_FILE%DB_NAME%_%DATE%_%TIME%.backup SET LOG_FILE%BACKUP_DIR%backup_%DATE%_%TIME%.log REM 3. 开始备份输出到独立日志 echo [%DATE% %TIME%] 备份任务开始 %LOG_FILE% echo [%DATE% %TIME%] 正在备份数据库... %LOG_FILE% %PGPATH% -h %DB_HOST% -p %DB_PORT% -U %DB_USER% -F c -b -v -f %BACKUP_DIR%%BACKUP_FILE% %DB_NAME% %LOG_FILE% 21 REM 4. 检查备份结果 if %errorlevel% equ 0 ( echo [%DATE% %TIME%] 000000;Success %LOG_FILE% echo [%DATE% %TIME%] 备份成功 %LOG_FILE% ) else ( echo [%DATE% %TIME%] 44444;failure: %errorlevel% %LOG_FILE% echo [%DATE% %TIME%] 备份失败错误代码: %errorlevel% %LOG_FILE% goto :cleanup_logs ) REM 5. 清理30天前的备份文件无论成功与否都执行 echo [%DATE% %TIME%] 清理30天前的备份文件... %LOG_FILE% REM 使用 PowerShell 安全清理 .backup 文件避免 forfiles 兼容性问题 REM 清理30天前的 .backup 文件 REM 清理30天前的.backup文件 echo [%DATE% %TIME%] Clean .backup files older than 30 days %LOG_FILE% powershell -Command Get-ChildItem %BACKUP_DIR%\*.backup | Where-Object {!$_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-30)} | Remove-Item -Force echo [%DATE% %TIME%] Clean .backup files older than 30 days--Success %LOG_FILE% REM 清理30天前的.log文件 echo [%DATE% %TIME%] Clean .log files older than 30 days %LOG_FILE% powershell -Command Get-ChildItem %BACKUP_DIR%\*.log | Where-Object {!$_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-30)} | Remove-Item -Force echo [%DATE% %TIME%] Clean .log files older than 30 days--Success %LOG_FILE% echo [%DATE% %TIME%] 备份任务完成 %LOG_FILE% 重要提醒首次运行时可能会提示无法连接确保数据库服务器防火墙允许5432端口如果使用远程服务器确保远程服务器已安装OpenSSH或WinSCP备份频率根据业务需求调整建议至少每天备份一次测试恢复每月至少测试一次恢复流程确保备份可用⚙️ 详细任务计划设置指南✅重要操作前请确保你的Windows已安装OpenSSH用于scp命令备份服务器能通过SSH访问远程服务器测试在CMD中输入ssh backup192.168.1.105步骤 1安装OpenSSH如果未安装打开PowerShell管理员运行Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0重启电脑步骤 2配置任务计划详细操作打开任务计划程序Win R→ 输入taskschd.msc→ 回车创建基本任务右侧 →创建基本任务任务名称PostgreSQL异地自动备份描述每天凌晨2点自动备份数据库并清理30天前文件点击下一步设置触发器选择每天开始时间凌晨 2:00避开业务高峰点击下一步设置操作选择启动程序程序/脚本C:\Windows\System32\cmd.exe参数/c D:\backup\pg_backup.bat✨关键路径要指向你的脚本位置如D:\backup\pg_backup.bat起始位置D:\backup脚本所在目录点击下一步高级设置必须勾选右侧点击高级设置→ 勾选✅使用最高权限运行否则可能无法访问目录✅如果任务失败重新启动重试3次✅任务运行时计算机处于空闲状态避免影响用户✅如果任务运行时计算机进入睡眠状态不要唤醒计算机点击确定测试任务在任务列表中右键点击任务 →运行检查日志文件D:\pg_backup\backup.log正常应显示备份与清理完成! 最后检查清单脚本中所有变量DB_HOST,DB_PASS等已替换为你的实际值D:\pg_backup\目录已存在或脚本会自动创建通过ssh backup192.168.1.105测试远程连接输入密码任务计划已设置凌晨2:00非白天高峰时间任务属性勾选了使用最高权限运行效果图每天凌晨 2 点开始备份并且删除 30 天之前的备份只保留最近30天数据测试信息20251212 124534] pg_dump: 错误: 连接到192.168.1.105上的服务器端口5432失败fe_sendauth: no password supplied 问题解析fe_sendauth: no password supplied错误这个错误非常常见原因很简单PostgreSQL 服务器要求密码验证。❌ 为什么会出现这个错误在你的脚本中你使用了-w参数-w表示 不提示密码但数据库要求密码验证%PGPATH% -h %DB_HOST% -p %DB_PORT% -U %DB_USER% -w -F c -b -v -f %BACKUP_DIR%%BACKUP_FILE% %DB_NAME%当使用-w时pg_dump 会尝试不提供密码连接但数据库要求密码所以连接失败。✅ 解决方案3种方法️ 方法1创建.pgpass文件推荐最安全这是最专业的解决方案适用于所有系统在备份服务器上创建.pgpass文件路径C:\Users\你的用户名\.pgpass例如C:\Users\Admin\.pgpass文件内容-- 格式ip端口数据库账号密码 -- 也可以使用通配符 192.168.1.105:5432:mydb:postgres:你的密码2. **设置文件权限**Windows中无法完全设置但可以隐藏文件 - 右键点击 .pgpass 文件 → 属性 → 勾选 隐藏 → 应用 为什么这个方法好 - 密码不会出现在脚本或命令行中 - 符合安全最佳实践 - 适用于所有自动化脚本 ### ⚠️ 方法2在脚本中直接提供密码不推荐有安全风险 如果你坚持要这样做**不推荐**因为密码会暴露在脚本中 batch %PGPATH% -h %DB_HOST% -p %DB_PORT% -U %DB_USER% -W -F c -b -v -f %BACKUP_DIR%%BACKUP_FILE% %DB_NAME%但这样会在命令行中提示输入密码在自动化脚本中无法工作。 方法3修改脚本去掉-w参数不推荐%PGPATH% -h %DB_HOST% -p %DB_PORT% -U %DB_USER% -F c -b -v -f %BACKUP_DIR%%BACKUP_FILE% %DB_NAME%这样会提示输入密码但在自动化脚本中无法交互所以不推荐。 重要提示确保数据库服务器允许密码验证在pg_hba.conf中确保有类似配置host all all 0.0.0.0/0 md5这表示使用密码验证md5。检查数据库密码是否正确在数据库服务器上可以尝试用psql -U postgres连接确认密码是否正确。 根本原因99% 的情况.pgpass文件不在正确的位置或文件名/格式有隐藏问题。PostgreSQL 在 Windows 上查找.pgpass的顺序是PGPASSFILE环境变量指定的路径%APPDATA%\postgresql\pgpass.conf←这是 Windows 的标准位置%USERPROFILE%\.pgpass关键发现你在C:\Users\Administrator\.pgpass创建文件但 PostgreSQL 实际在%APPDATA%\postgresql\下找pgpass.conf1.✅ 终极解决方案Windows 专用步骤 1创建正确的配置文件打开文件资源管理器进入C:\Users\Administrator\AppData\Roaming\postgresql\ 如果postgresql文件夹不存在请手动创建在该目录下创建文件pgpass.conf注意不是.pgpass而是pgpass.conf文件内容替换为你的实际值192.168.1.105:5432:*:postgres:你的密码步骤 2设置文件权限重要# 隐藏文件 attrib h C:\Users\Administrator\AppData\Roaming\postgresql\pgpass.conf # 限制访问防止安全警告 icacls C:\Users\Administrator\AppData\Roaming\postgresql\pgpass.conf /inheritance:r icacls C:\Users\Administrator\AppData\Roaming\postgresql\pgpass.conf /grant Administrator:F步骤 3修改备份脚本移除-w参数REM 删除 -w 参数因为 pgpass.conf 会自动提供密码 %PGPATH% -h %DB_HOST% -p %DB_PORT% -U %DB_USER% -F c -b -v -f %BACKUP_DIR%%BACKUP_FILE% %DB_NAME%最后文章有啥问题欢迎评论指教有问题也可以评论留言
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

金华婺城区建设局网站河南省住房和城乡建设厅电话

工业数字化双胞胎:挑战与机遇 在工业领域,数字化双胞胎技术的应用对于工厂的运营和管理至关重要。然而,实现数字化双胞胎面临着诸多挑战,尤其是在对象识别和CAD模型生成方面。本文将探讨不同工业领域中对象识别的复杂性,并介绍相关的解决方案。 1. 不同工业领域的复杂性…

张小明 2026/1/4 0:21:05 网站建设

云顶科技做网站的重庆市建筑工程

📝 博客主页:jaxzheng的CSDN主页 目录当数据科学遇上医疗:一场“找茬”的修行 一、我,码农,被CT片逼疯的第7天 二、医疗数据:比相亲对象还难搞的"高冷女神" 三、海南三医联动:当数据开…

张小明 2025/12/26 9:34:21 网站建设

网站建设报价单纯mvc做的都有那些网站

如何快速构建AI工作流:cube-studio可视化编排终极指南 【免费下载链接】cube-studio cube studio开源云原生一站式机器学习/深度学习AI平台,支持sso登录,多租户/多项目组,数据资产对接,notebook在线开发,拖…

张小明 2025/12/26 9:34:19 网站建设

北京做商铺的网站食品贸易网站建设案例

高精度万用表(数字多用表,DMM)的“位数”直接关系到其测量分辨率和精度。五位半、六位半、七位半和八位半是常见的分类方式,它们的主要区别在于显示位数、分辨率和绝对精度。🧠 一、理解“位半”的含义“半位”&#x…

张小明 2026/1/6 8:45:15 网站建设

网站开发翻译wordpress注册无法发送邮件

网络安全学习必备!内网渗透实战靶场指南:12个高价值平台避坑技巧 本文系统介绍内网渗透学习的实战靶场,按"新手入门→进阶实战→专项突破"三阶段推荐12个高价值靶场,包括DVWA、VulnStack、Hack The Box等。每个靶场详细…

张小明 2025/12/26 9:34:20 网站建设

新洲网站建设巩义便宜网站建设费用

GPT-SoVITS能否处理古代汉语发音重构?语言学交叉研究 在人工智能与人文科学的交汇处,一个看似遥远却日益逼近的设想正悄然成形:让千年前的文字“开口说话”。当《诗经》中的“关关雎鸠”不再只是纸上的字符,而是从扬声器中流淌出…

张小明 2025/12/27 21:35:26 网站建设