当前位置: 首页 > 知识库问答 >
问题:

计算机锁定时批处理文件MySQL转储错误

谷良弼
2023-03-14

我试图让一个批处理文件每天晚上午夜运行(通过任务调度程序),以便生成我的mysql db备份(使用mysqldump),加密(使用7-zip),并移动到适当的文件夹。我修改了在以下位置找到的代码版本:https://sqlbackupandftp.com/blog/how-to-automate-mysql-database-backups-in-windows.以下是我的修改版本:

rem credentials to connect to mysql server
set mysql_user=***********
set mysql_password=***********
rem archive password
set encryption_password=***********
rem backup storage period (in days)
set max_keep_days=7
rem path to backup compression utility
set seven_zip_path=C:\Program Files\7-Zip\
rem backup file name generation
set backup_name=C:\Users\**********\Documents\Temp\all-databases-%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%-%time::=.%
rem backup creation
mysqldump --user %mysql_user% --password=%mysql_password% --all-databases >> %backup_name%.sql
if %ERRORLEVEL% neq 0 eventcreate /ID 1 /L APPLICATION /T ERROR /SO mysql-backup-script /D "Backup failed: error during dump creation" && exit
rem backup compression
"%seven_zip_path%7z" a -p%encryption_password% %backup_name%.zip %backup_name%.sql
if %ERRORLEVEL% neq 0 eventcreate /ID 1 /L APPLICATION /T ERROR /SO mysql-backup-script /D " Backup failed: error during archive creation" && exit
rem delete temporary .sql file
del %backup_name%.sql
rem copy backup to storage
robocopy C:\Users\**********\Documents\Temp\ C:\Users\**********\Desktop\Backups\ /e
rem local backup copy
del %backup_name%.zip
eventcreate /ID 1 /L APPLICATION /T INFORMATION /SO mysql-backup-script /D "Backup successful"

(我删除了网络路径部分,因为在重新合并这些部分之前,我第一次尝试在本地运行它。此外,backup\u name变量在我使用完整路径之前不起作用)

当我自己运行此代码时,在登录等情况下,此代码确实正常运行。但是,如果我像昨晚一样锁定电脑,则文件会运行,但在到达mysqldump行时失败。

共有1个答案

潘彦
2023-03-14

当时间在中午12点之后时,包含%TIME%变量起作用,但在午夜和早上之后,文件名中突然出现了额外的空间,导致了错误。

(对于那些有类似问题的人,请参阅Mofi的回复,因为他们会认真帮助你)

 类似资料:
  • 是否有一种方法可以使用Selenium Grid来执行位于远程节点机器上的批处理文件以更改主机文件? VM1包含代码,并充当中心VM2运行Chrome节点VM3运行火狐节点VM4运行IE节点 每个VM上都存在一组批处理文件,但是,按原样运行时,只有VM1执行批处理文件。如何告诉Selenium在正确的节点上执行批处理文件? FWIW,我现在通过詹金斯执行任务。 最初编写代码时,我只是通过Eclip

  • 我正在使用sping-xd通过批处理作业进行数据摄取。大量作业在4个容器中并行运行。任何地方都在10到40个作业之间。其中大多数在不到一分钟的时间内完成。我使用redis(而不是Rabbitmq)和mysql进行数据存储。Spring-xd-批处理使用不同的mysql-db进行作业/步骤统计,我的应用程序使用不同的mysql-db用于自己的目的。两个mysql-db都在同一台服务器上。所有4个容器

  • 主要内容:创建批处理文件,保存批处理文件,执行批处理文件,修改批处理文件在本章中,我们将学习如何创建,保存,执行和修改批处理文件。 创建批处理文件 批处理文件通常在记事本中创建。 因此,最简单的方法是打开记事本并输入脚本所需的命令。 对于这个练习,打开记事本并输入以下语句。 保存批处理文件 在创建批处理文件后,下一步是保存批处理文件。 批处理文件的扩展名为或。 命名批处理文件时需要注意的一些常规规则 - 在命名批处理文件时避免使用空格,有时会在从其他脚本中调用时产生问

  • 我有这个批处理文件来将所有文件从一个目录复制到另一个目录。源目录和目标目录写入文本文件。所以我有这个: 批处理文件 这是一个copy\u list\u测试。txt文件 因此,当我尝试运行脚本时,他在“C:\Users\mcastrio\Desktop\C”上创建了一个新文件夹,而不是将文件放在C:\temp\MESSERVER中 我的错误在哪里? 我们能帮我吗?最佳规范

  • 请使用下面的脚本作为参考。嗯,我正在尝试进入编程领域,我正在创建我的批处理rpg,看看我是否可以做到......无论如何,有点碰壁:我一直收到“goto此时出乎意料”的错误。错误如下:最初,在标签游戏(: game)之后,输入系统正常工作,但不正确(即您输入输入4并获得8的操作,输入8却什么也没有获得,等等)。我改变了一些东西,但我不确定我改变了什么......导致在到达标签游戏时出现“错误:go

  • 问题内容: 我相信MySQL当前没有可用的东西允许访问MySQL存储过程中最后执行的语句。这意味着在存储过程中引发泛型时,很难/不可能得出错误的确切性质。 是否有人有变通办法来推导MySQL存储过程中的错误,而不涉及为每个可能的SQLSTATE声明处理程序? 例如,假设我正在尝试返回一个error_status,它超出了下面的通用“ SQLException在此块中的某处发生”: 有小费吗? PS