window定时备份

备份文件bak.bat

@echo off
rem 删除之前备份
del /f /s /q F:\temp\bak\*.*
rem 需要的话生成日期参数
set dt=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
rem 复制文件
xcopy "F:\test" "F:\temp\bak" /e
pause

备份mysql

echo test backup is starting...
set filename=H:\mysql\dumps\test\test%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.sql
echo %filename%
mysqldump --default-character-set=utf8 -uadmin -pZhihebim3.0@admin test>%filename%
echo finish backup!
pause

指定IP和端口使用-h -P

-h127.0.0.1 -P3309

输出拆分为较小的文件,可以使用--max-allowed-packet和--single-transaction选项

使用--max-allowed-packet选项设置每个查询允许的最大数据包大小。这将确保mysqldump在执行过程中不会因为数据包过大而导致错误。
使用--single-transaction选项来确保在执行mysqldump时,数据库不会被锁定。这将允许数据库在备份过程中继续运行,从而避免对业务造成影响。

--single-transaction --max-allowed-packet=1M test | split -b 1M - mysqldump-split/db_name_

添加任务计划

新建触发器

新建操作

运行

### 如何在 Windows Server 上配置自动定期备份 #### 使用 Windows Server 备份功能进行文件夹和系统状态的自动备份 对于希望利用内置工具完成简单到中级复杂度的任务,Windows Server 提供了一个直观的方法来进行自动备份。通过服务器管理器中的“Windows Server 备份”选项,可以选择要备份的内容,并安排定期执行这些备份。 为了创建一个自定义的备份计划,进入服务器管理器之后应导航至“Windows Server 备份”,接着点击“备份计划”。在此处选择“自定义”以便指定哪些数据应该被包含进来以及设定时间表[^1]。 #### SQL Server 数据库的自动化备份方案 针对 SQL Server 的环境,除了常规的数据卷或整个系统的镜像复制外,还特别关注于数据库级别的保护措施。这通常涉及到编写特定的 T-SQL 脚本来调用 `BACKUP DATABASE` 或者其他相关语句来保存事务日志等重要信息。确保所使用的路径不含特殊字符如中文字符以避免潜在错误[^3]。 此外,借助 Windows Task Scheduler (任务计划程序),能够轻松地将上述提到的手动过程转变为无人值守的操作流程。具体来说就是把准备好的批处理(.bat)或是 PowerShell (.ps1) 文件关联给一个新的预定任务,在那里指明触发条件(比如每天凌晨两点钟),从而达到无需人工干预即可按时启动的目的[^4]。 ```powershell # 创建一个简单的PowerShell脚本用于SQL Server备份 $backupPath = "C:\Backups\" $databaseName = "YourDatabaseName" Backup-Database $databaseName -BackupFile "$($backupPath)$($databaseName)_$(Get-Date -Format yyyy-MM-dd).bak" ``` #### MySQL 数据库的自动化备份策略 当面对的是基于 Linux/Unix 平台开发的应用迁移至 Windows 场景下的情况时,则可能更多会考虑 MySQL 这样的开源关系型数据库管理系统(RDBMS)。此时可依赖 mysqldump 实用程序导出结构加内容形成 .sql 文档作为快照存档下来。同样可以通过构建 shell/bash 类似风格但适用于 CMD/Powershell 下运行的小型应用程序配合任务调度机制达成周期性的维护作业目标[^5]。 ```batch @echo off set backupDir=C:\MySQLBackups\ set mySqlUser=root set mySqlPassword=yourpassword set database=mydb :: 获取当前日期并格式化为 YYYYMMDDHHIISS 形式 for /f "tokens=2 delims==" %%i in ('wmic os get localdatetime /value') do set datetime=%%i set datestamp=%datetime:~0,8% set timestamp=%datetime:~8,6% mysqldump -u %mySqlUser% -p%mySqlPassword% %database% > "%backupDir%\%database%_%datestamp%.sql" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值