美好的一天,
我正在尝试使用bash生成一个mysql数据库转储。
我使用此link
创建了一个示例.sh #!/bin/bash
# Database credentials
user="root"
password=""
host="localhost"
db_name="sampledb"
# Other options
backup_path="C:\_backup"
date=$(date +"%d-%b-%Y")
# Set default file permissions
umask 177
# Dump database into SQL file
mysqldump --user=$user --password= --host=$host $db_name > $backup_path/$db_name-$date.sql
创建了转储文件,但它是0kb(空)
我的bash的哪个部分是问题? (我,第一次创造这样的东西)
更新代码
更新
似乎我需要在我的环境变量中添加mysqldump路径 我在win7中运行它。
提前致谢
答案 0 :(得分:0)
问题可能来自您的密码? 我认为您应该尝试将其保存在$ password =“”
中答案 1 :(得分:0)
你正在使用一个bash脚本(大概是linux / unix的某些版本)但是一个Windows路径,你在cygwin吗?即使在cygwin上,你需要在脚本的顶部放一个shebang(#!/ bin / bash)。无论如何,你还没有将密码变量添加到命令行(或填充它,但我想这是故意的),试试:
mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql
你的umask变量没有做任何事情。在这样的文件中使用密码可能不安全,请确保您对相应用户的文件具有受限访问权限。