小编Wil*_*rth的帖子

mysqldump 通过 bash 脚本失败并显示“没有这样的文件或目录”

这个让我发疯。任何帮助表示赞赏!

$MYSQLDUMP --login-path=$HOST $DATABASE > "$BACKUP_DIR/${HOST}__${DATABASE}__${NOW}.sql";
Run Code Online (Sandbox Code Playgroud)
  • 我已经确认二进制文件$MYSQLDUMP(在脚本中)有一个有效的完整路径
  • 命令完成(通过echo确认)
  • $NOW 在剧本的早期设定,而不是在这里......所以时间不会改变我们或任何事情
  • 这不是通过 cron 运行的
  • 通过命令行执行脚本的用户也具有对实际目录的访问/权限
  • 试图dos2unix确保没有奇怪的字符。我在 Mac 上,但是嘿...为什么不呢
  • 试图逃避>like \>,反而产生mysqldump: Couldn't find table: ">"错误

这个让我发疯。不确定我在这里缺少什么?我们只是在指导输出,我觉得我忽略了一些非常明显的事情。

更新

在此处添加了更多测试以进行调试和协助。

vrb "\$BACKUP_DIR: $BACKUP_DIR"
vrb "whoami $(whoami)"
vrb "ls -ld \"$BACKUP_DIR/\" $(ls -ld \"$BACKUP_DIR/\")"
vrb "absolute path of user's home dir: $(cd ~/; pwd)"
vrb "absolute path of \$BACKUP_DIR: $(cd $BACKUP_DIR/; pwd)"
Run Code Online (Sandbox Code Playgroud)

...产生...

20160713T210808Z: $BACKUP_DIR: ~/www/__MYSQL/backup
20160713T210808Z: whoami william
ls: "~/www/__MYSQL/backup/": No such file or directory …
Run Code Online (Sandbox Code Playgroud)

mysql bash

7
推荐指数
1
解决办法
5207
查看次数

在 Shell 中列出或使用范围

有什么方法可以一次性瞄准一系列 ac* 吗?

例如,不是单独执行此操作;

/home/a*
/home/b*
/home/c*
Run Code Online (Sandbox Code Playgroud)

我试过用 进行测试ls,但不确定它是否正常工作。

ls /home/[a-c]*
Run Code Online (Sandbox Code Playgroud)

linux command-line-interface

2
推荐指数
1
解决办法
59
查看次数

标签 统计

bash ×1

command-line-interface ×1

linux ×1

mysql ×1