自动化: 将mysqldump转储到以备份日期/时间命名的文件中的脚本

2024-05-23 17:32:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在命令字符串中使用“>;”构造。它总是发出错误代码2。目前涉猎subprocess.call, subprocess.check_输出并保持stdout=“filesocket”。不工作。唯一写入文件的是mysqldump的用法。使用shlex解析“mysqldump-uroot-ppassword database table1 table2”

所有这些都是因为我不知道用'date'实用程序中的字符串变量编写shell脚本。如何获取当前日期并使用它在shell脚本中命名备份文件。或者我如何用python完成这件事?在

提前谢谢。在

敬上。在


Tags: 文件字符串命令gt脚本用法checkstdout
3条回答

“如何获取当前日期并使用它在shell脚本中命名备份文件。或者我如何用python完成这件事?”

from datetime import datetime

filename = 'mysql_backup_{0:%Y%m%d_%H%M}.sql'.format(datetime.now())

# filename == 'mysql_backup_20120227_0952.sql'

我的回答来自相关的stackoverflow post。在

Microsoft Windows中,在CMD中运行下面的命令

mysqldump -u USERNAME -pYOURPASSWORD  all-databases > "C:/mysql_backup_%date:~-10,2%-%date:~-7,2%-%date:~-4,4%-%time:~0,2%_%time:~3,2%_%time:~6,2%.sql"

输出文件看起来像

mysql_backup_21-02-2015-13_07_18.sql

如果您想自动化备份过程,那么您可以使用Windows任务调度器,并将上面的命令放入.bat文件-任务调度器将按指定的时间间隔运行.bat文件。在

可以使用以下语法获取过期的自定义日期。在

CUSTOM_DATE=$(date "+%Y-%m-%d_%H_%M_%S")

实现这一点最简单的方法是在远程端放置一个脚本来执行“一切”

^{pr2}$

相关问题 更多 >