Проверьте, чтобы видеть, существует ли каталог удаленно (сценарий оболочки)

Мне всегда нравилось использовать lftp с зеркальной опцией. Это кажется, что могло бы работать довольно хорошее для Вас на основе/databackup примера. Существует краткий пример, данный здесь под разделом под названием Резервное копирование На Удаленный сервер, rsync Без Паролей. (Независимо от заголовка его действительно говорит о lftp использовании),

7
задан 15 January 2010 в 21:41
6 ответов

Можно использовать ssh для вызова программы на удаленном хосте, test тесты для определенных условий.

if [[ `ssh user@example.com test -d /path/to/my/directory && echo exists` ]] ; then
    # put code in here
fi
5
ответ дан 2 December 2019 в 23:27
  • 1
    Этот didn' t работа для меня (вероятно, Ваши одинарные левые кавычки были искажены). Я использовал if [[ `ssh user@example.com test -d /path/to/my/directory && echo exists` ]], и это работало. –  chiborg 28 May 2010 в 11:31

Просто используйте

ssh remoteHost 'mkdir -p /whatever/your/dir/is'

Это создаст dir, если это не будет уже существовать.

3
ответ дан 2 December 2019 в 23:27
  • 1
    если Вы добавляете -p к своему mkdir, управляют, чтобы он не сообщал об ошибке, если каталог уже будет существовать, и он сделает весь путь. –  Zoredache 15 January 2010 в 23:02
  • 2
    Я добавил его, но это зависит от того, что точно он хочет. Теперь он can' t используют команду в если оператор больше. –  Kim 16 January 2010 в 09:08
mkdir -p

Но если это не вполне, что Вы - после того, как можно проверить существование каталога с

ssh user@host test -d /home && echo exists
3
ответ дан 2 December 2019 в 23:27

Я рекомендовал бы смотреть на использование механизма об/мин, чтобы установить Ваше приложение, вместо того, чтобы писать что-то собственной разработки, так как проблемы, с которыми Вы столкнетесь со своим собственным сценарием, будут почти наверняка уже решены с об/мин. Вот превосходное учебное руководство на об/мин.

1
ответ дан 2 December 2019 в 23:27

Как Вы намереваетесь говорить с этим удаленным сервером? SSH, SMB, NFS, что-то еще? обычно существует способ узнать этот материал, но необходимо будет знать, какие протоколы и способ аутентификации Вы имеете открытый для Вас прежде, чем знать точно как к к этому.

0
ответ дан 2 December 2019 в 23:27
  • 1
    К этому можно получить доступ через SSH, однако я wasn' t уверенный, если существует другой инструмент, который позволит мне создавать каталог. –   15 January 2010 в 21:49
  • 2
    Если у Вас есть SSH, просто пишут сценарий mkdir, если он существует it' ll просто перестали работать с ошибкой. –  Chopper3 15 January 2010 в 22:01
  • 3
    Да, после проведения некоторого исследования, это - путь I' ll сделать его. I' m своего рода новичок Linux, таким образом, я didn' t понимают, что Вы могли выполнить сценарий и иметь его, продолжают выполнять команды удаленно. –   15 January 2010 в 22:03
#its simple

if [[ "`ssh -q hostname ls /dir/filename.abc 2>dev/null`" == "/dir/filename.abc" ]]
then
echo "file exists"
else
echo "file not exists"
fi 
0
ответ дан 31 March 2021 в 14:50

Теги

Похожие вопросы