gpt4 book ai didi

mysql - 为什么使用ssh将备份文件转储到另一台服务器时出现 `tcgetattr`错误?

转载 作者:可可西里 更新时间:2023-11-01 06:39:46 25 4
gpt4 key购买 nike

我想在另一台服务器上转储表备份,我正在使用 ssh 来完成它。当我运行下面的命令时,它给出了一个错误,但是转储文件被复制到目的地。

mysqldump -u username -ppassword dbname tablename | ssh -t -t servers_username@domain_name 'cat > /tmp/bckp.sql';

tcgetattr: Invalid argument

如果我按 CTRL+c 然后它会附加错误消息 Killed by signal 2.

为什么会出现这个错误?

最佳答案

我在使用 ssh -t -tssh -tt 强制伪终端分配时看到了这个错误。

tcgetattr 函数用于查找由文件描述符表示的伪终端的属性;它需要一个文件描述符和一个指向 termios 结构的指针来存储终端元数据。在我看来,它来自 stub code in glibc。该错误表示 termios 结构的空指针。我不确定这些相同的错误处理语义是否适用于 tcgetattr 的特定于平台的实现。

如果你想抑制这个错误,像这样调用 ssh:

ssh 2>/dev/null

这会将 STDERR 重定向到 /dev/null;使用此重定向调用时您不会看到错误。请注意,这将掩盖 ssh 的其他错误;出于调试目的,您可能需要删除它。

关于mysql - 为什么使用ssh将备份文件转储到另一台服务器时出现 `tcgetattr`错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12890798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com