Як перевірити, чи існує файл на віддаленому сервері


0

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


1
Гм ... ssh user@host test -f filename?
Боб

Відповіді:


1

Наступна команда виконає, якщо ви точно знаєте, де знаходиться файл

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

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

В іншому випадку, якщо ви знаєте лише ім'я файлу, але не впевнені в його місці,

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

здійснить пошук у всій файловій системі для вашого файлу.

Зверніть увагу на використання ssh: він підключається до віддаленого сервера, виконує команду після виразу user@remote_server, але не відкриє інтерактивний сеанс: керування повернеться до оболонки на вашому локальному ПК.


Якщо ви пишете сценарій, лунання безглуздо - sshвстановить правильний код повернення, який ви зможете перевірити $?. Довести до друку рядок до стандартного виходу - незграбно. Якщо ви не займаєтеся сценарієм, навіщо для біса потрібен неінтерактивний метод?
Боб

@KamilMaciorowski Так, ви праві, я забув. Дякую.
MariusMatutiae
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.