如何在目录中找到最后一个mysql转储文件并导入它

时间:2015-02-26 09:47:21

标签: mysql shell ubuntu terminal vagrant

我刚刚找到了Vigrant,我正在尝试制作一个完全建立我的开发环境的脚本。我像服务器一样使用Ubuntu 14.04.01。现在使用scrip,我安装LAMP,为MySQL设置密码,并更改LAMP服务器公共目录。现在我有一个包含许多.sql转储文件的目录。我想找到最新的一个并将其导入我的数据库。导入我上次创建的.sql数据库转储时遇到问题。我找到了一个命令,可以在目录中找到最后创建的文件。

find /vagrant/VagrantFiles/DB/ -type f -exec stat -c "%n" {} + | sort -r | head -n1

但是当添加mysql命令导入它mysql --user=root --password=pass < {}并执行这样的行:

find /vagrant/VagrantFiles/DB/ -type f -exec stat -c "%n" {} + | sort -r | head -n1 | mysql --user=root --password=pass < {}

我在终端-bash: {}: No such file or directory

中收到错误

我如何才能做到这一点?

1 个答案:

答案 0 :(得分:0)

嗨,经过两天搜索解决方案,我发现了它。 我只是将这个命令分成两部分。 Firs找到最新的文件并记住它变量,然后用这个变量执行mysql命令。我对此解决方案的启发是this帖子。这是解决方案:

last_dump=$(find /vagrant/VagrantFiles/DB/ -type f -exec stat -c "%n" {} + | sort -r | head -n1) mysql --user=root --password=pass < $last_dump