Я хочу проверить, существует ли файл где-нибудь на удаленном сервере Linux (например, /var/run/test_daemon.pid), без интерактивного входа на сервер. Например, вы можете захотеть, чтобы ваш скрипт вел себя по-разному в зависимости от того, существует ли определенный файл на удаленном сервере.

1 ответ1

1

Следующая команда сделает, если вы точно знаете, где находится файл

  ssh user@remote_server  test -f  /path/to/file/filename && echo "YES" || echo "no"

Вам нужен фрагмент, начинающийся с && потому что test не будет выдавать никаких результатов, и вы не сможете определить, был ли файл найден или нет.

В противном случае, если вы знаете только имя файла, но не уверены в его местонахождении,

 ssh user@remote_server find / -type f -name 'name_of_file*' -print

проведет поиск по всей файловой системе для вашего файла.

Обратите внимание на использование ssh: он подключается к удаленному серверу, выполняет команду, следующую за выражением user@remote_server , но не открывает интерактивный сеанс: управление будет возвращено оболочке на вашем локальном компьютере.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .