Если оболочка входа в систему удаленного пользователя (user2
на server2
) bash
, остерегайтесь этого bash
чтения и интерпретируют ~/.bashrc
(и возможно /etc/bash.bashrc
или эквивалент в удаленной системе) при вызывании ssh
, даже когда не интерактивный (как в том, когда это просто интерпретирует это /bin/cat > user2@server2:/......./test.sql.gz
то, что Вы даете его).
Удостоверьтесь это вещи в ~/.bashrc
не делайте вещей как stty
или mesg
( mesg
от sysvinit-utils
столь найденный во многих дистрибутивах Linux, как известно, производит это точно то же сообщение, как Вы видите путем выполнения : | mesg n
), или только сделайте это проверив, что stdin является терминалом [ -t 0 ]
и что оболочка является интерактивной (case $- in (*i*) ...;; esac
).
Если оболочка входа в систему удаленного пользователя csh
или tcsh
, посмотрите на .cshrc
и .tcshrc
и для zsh
в ~/.zshenv
которые интерпретируются каждой оболочкой включая неинтерактивные независимо от того, вызваны ли они ssh
или не (но как таковой, они не будут обычно делать вещей с tty
безусловно).
Обратите внимание, что это не заставит Вашу команду перестать работать, просто что побочное сообщение, которое будет отображено.
Что заставило бы команду перестать работать, хотя:
/bin/cat > user2@server2:/......./test.sql.gz
Когда не имеет большого смысла, если нет названный каталог user2@server2:
в корневом каталоге user2
на server2
.
Это, вероятно, что вызывает ошибку:
: No such file or directory
То, что "файл или каталог" это жалуется на, кажется, "пусто", предполагает, что существует символ возврата каретки, скрытый где-нибудь в командной строке.
То, что Вы хотите, /bin/cat > /path/to/output/file/on/server2/test.sql.gz
, и /path/to/output/file/on/server2
каталог должен существовать заранее.
Можно также хотеть удалить -v
и ~/.bashrc
временно как в данный момент, мы видим сообщения от ssh
, от команд, выполненных в Вашем ~/.bashrc
, возможно удаленной оболочкой, когда это интерпретирует это cat ...
командная строка, cat
и mysqldump
команда, которая мешает видеть то, что что.
musicbox
является псевдонимом к ns
:
musicbox IN CNAME ns
Однако для ns
нет записи A, поэтому musicbox
не разрешается. Все остальные имена хостов имеют запись А, поэтому они разрешаются просто отлично.
Вы можете добавить запись А для ns
....
ns IN A [ns' IP]
... или запись A для музыкальной шкатулки
напрямую:
musicbox IN A [musicbox's IP]
Из того, что я могу сказать из вашего файла, я предполагаю, что ваш ns
хост - это 192.168.1.22
(именуемый как @
, локальный, в вашем файле зоны). Хотя вы определяете IP-адрес вашего хоста, между вашим хостом (@
, локальный) и ns
нет никакой связи. Я бы порекомендовал внести следующие изменения:
$ORIGIN local
$TTL 1h
@ IN SOA ns.local. hostmaster.local. (
1; serial
1d; refresh
2h; retry
4w; expire
1h; minimum time-to-live
)
IN NS ns
IN A 192.168.1.22
ns IN A 192.168.1.22
haddock IN A 192.168.1.29
tintin IN A 192.168.1.68
snowy IN A 192.168.1.99
castafiore IN A 192.168.1.73
musicbox IN CNAME ns
Этот файл сделает следующие ассоциации:
локальными.
находится по адресу 192.168.1.22. ns.local.
находится по адресу 192.168.1.22. хэддок.местный.
по адресу 192.168.1.29. tintin.local.
находится в 192.168.1.68 снежный.местный.
в 192.168.1.99. кастафиоре.местный.
находится в 192.168.1.73. musicbox.local.
находится в 192.168.1.22 (псевдоним ns.local.
). (не забудьте о завершении .
s всякий раз, когда вы используете полные домены, такие как ns.local.
)