windows下定时备份数据库

王海鱼  论坛元老 | 2024-7-31 23:26:34 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1027|帖子 1027|积分 3081

一、windows筹划任务步调实行


  • 编写.bat脚本

    1. @echo off
    2. echo 设置MySQL数据库的连接信息
    3. set host=127.0.0.1
    4. set port=3306
    5. set user=root
    6. set pass=123456
    7. echo 设置要备份的MySQL数据库名称
    8. set dbname=test_table
    9. echo 获取当天的日期格式,例如:20221102231300
    10. REM 获取当前日期和时间
    11. set "hour=%time:~0,2%"
    12. if "%time:~0,1%"==" " set "hour=0%time:~1,1%"
    13. set "backup_date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2%"
    14. REM 设置备份文件的路径
    15. set "backup_dir=E:\test\sql"
    16. set "backupfile=%backup_dir%\%dbname%_backup_%backup_date%.sql"
    17. REM 确保备份目录存在,如果不存在则创建
    18. if not exist "%backup_dir%" mkdir "%backup_dir%"
    19. echo 使用mysqldump对指定的MySQL进行备份
    20. REM 备份数据库
    21. "D:\phpstudy_pro\Extensions\MySQL5.7.26\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > "%backupfile%"
    22. REM 检查备份是否成功
    23. if %errorlevel% neq 0 (
    24.     echo 备份失败,请检查日志
    25. ) else (
    26.     echo 备份成功,备份文件路径为:%backupfile%
    27. )
    28. echo 删除过期文件,这里是超过7天就删除
    29. REM 删除7天前的备份文件
    30. forfiles /p "%backup_dir%" /s /m *.sql /d -7 /c "cmd /c echo 删除 @file && del @file /f"
    复制代码

  • 搜索任务筹划步调
         

  • 点击创建任务,填写任务名称和形貌            
     

  • 选择触发器

  • 选择操纵实行
      

  • 选择实行的脚本参数
     

  • 确定自己填写或选择实行的方式

二、windows下cmd命令实行         


  • 编写脚本如上面的 .bat脚本
  • 使用 schtasks 命令来在 Windows 中创建定时任务。下面是一个示例命令,用于创建一个每天定时实行的任务:

    1. schtasks /create /tn "MyBackupTask" /tr "E:\path\to\your\backup_script.bat" /sc daily /st 01:00
    复制代码
    这个命令将创建一个名为 "MyBackupTask" 的任务,它会每天在破晓 01:00 实行指定的批处理脚本 backup_script.bat。                                                                                                    你须要替换以下部分:                                                                                             "MyBackupTask":任务名称,可以自界说。
    "E:\path\to\your\backup_script.bat":你实际的备份脚本的完整路径。
    /sc daily:指定任务的触发器类型,这里是每天触发一次。/st 01:00:指定任务每天触发的时间,这里是破晓 01:00。

  • 删除定时任务                               

    1. #输入以下命令来列出所有当前的定时任务
    2. schtasks /query
    3. #找到你想要取消的定时任务的名称,然后使用以下命令来删除该任务
    4. schtasks /delete /tn "TaskName"
    复制代码
     
          

                  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王海鱼

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表