/opt/mysql/bin/mysqldump -udbuser -pAdmin@123 -h192.167.93.44 -P32083 --single-transaction --set-gtid-purged=OFF --databases mohwscdrdb mohwsecsdb moresourcelifecycledb moorderdb movdcservicedb > ./backup.sql 2>&1 | grep -v "Warning"
就像我想的那样运行,没有“警告:使用密码…”的废话。
但当我执行时:
/opt/mysql/bin/mysql -udbuser -pAdmin@123 -h192.167.93.44 -P32083 < ./backup.sql 2>&1 | grep -v "Warning"
为了在不发出警告的情况下恢复sql文件,它失败了,原因是:
/' at line 1
我想是因为我有两个不同的方向( <
以及 >
)在一行,但如何解决这个问题?
2条答案
按热度按时间vc9ivgsu1#
2>&1
将两个文件描述符绑定在一起。您只想在stderr上grep,因此通过使用“|&”,只有stderr才能进入grep。关于倾销:
fae0ux8s2#
更改顺序,将重定向部分移到命令的末尾,将使事情完成。
顺便说一下,导入sql应该保持
< ./backup.sql
在指挥中心。