如何在目录中找到最后一个 mysql 转储文件并将其导入
How to find last mysql dump file in directory and inport it
我刚找到 Vigrant,我正在尝试制作一个脚本来完全设置我的开发环境。我正在使用 Ubuntu 14.04.01 作为服务器。现在我使用 scrip 安装 LAMP,为 MySQL 设置密码,并更改 LAMP 服务器 public 目录。现在我有一个包含许多 .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
我怎样才能使这个工作?
您好,经过两天的搜索,我找到了解决方案。
我只是将这个命令分成两部分。首先找到最新的文件并记住它到变量,然后用这个变量执行 mysql 命令。我对这个解决方案的灵感来自 this post。这是解决方案:
last_dump=$(find /vagrant/VagrantFiles/DB/ -type f -exec stat -c "%n" {} + | sort -r | head -n1)
mysql --user=root --password=pass < $last_dump
我刚找到 Vigrant,我正在尝试制作一个脚本来完全设置我的开发环境。我正在使用 Ubuntu 14.04.01 作为服务器。现在我使用 scrip 安装 LAMP,为 MySQL 设置密码,并更改 LAMP 服务器 public 目录。现在我有一个包含许多 .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
我怎样才能使这个工作?
您好,经过两天的搜索,我找到了解决方案。 我只是将这个命令分成两部分。首先找到最新的文件并记住它到变量,然后用这个变量执行 mysql 命令。我对这个解决方案的灵感来自 this post。这是解决方案:
last_dump=$(find /vagrant/VagrantFiles/DB/ -type f -exec stat -c "%n" {} + | sort -r | head -n1)
mysql --user=root --password=pass < $last_dump