Вопрос: Как написать сценарий bash для обнаружения смонтированного USB-накопителя?


Я запускаю скрипт из cron. Я хочу, чтобы он запускал rsync ТОЛЬКО, если установлен USB-диск с именем «data_3», иначе нет.

Как написать сценарий bash для обнаружения смонтированного USB-накопителя?

Мой текущий псевдокод:

#!/bin/sh  
if ( mount | grep /media/data_3 )  
  rsync ...  
else  
  echo "Failure"

0
2017-09-27 21:36


Источник




Ответы:


Закрыть.

if mount | grep -q ' on /media/data_3 '; then

Не забывайте, что fi в конце (help if для получения подробной информации).


1
2017-09-27 21:54





Вы также можете сделать это по-другому - узнайте uuid диска, выпустив команду, когда этот USB вставлен в первый раз (цель состоит в том, чтобы узнать uuid), используя vol_id

ИМЯ          vol_id - тип файловой системы зонда и считывающая метка и uuid

СИНТАКСИС          vol_id [--export] [--type] [--label] [--label-raw] [--uuid]   [--skip-raid] [--probe-all]   [--offset = bytes] [--debug] [--help]   [Устройство]

ОПИСАНИЕ          vol_id обычно вызывается из правила udev, чтобы обеспечить udev с помощью   тип файловой системы, ярлык и   uuid объема. Он поддерживает большинство   общее          форматов файловой системы и обнаруживает различные настройки рейдов, чтобы предотвратить   признание членов рейда как   том с файловой системой.

ОПЦИИ          --export              Распечатайте все значения в формате ключа / значения, чтобы импортировать их в   окружающая среда.

   --type
       Print the filesystem type.

   --label
       Print the safe version of volume label suitable for use as

имя файла.

   --label-raw
       Print the raw volume label.

   --uuid
       Print the uuid of a volume.

   --skip-raid
       Skip detection of raid metadata.

   --probe-all
       Probe for all types and print all matches.

   --offset=bytes
       Start probing at the given offset, instead of the beginning of

громкость. Значение смещения равно   указанный в байтах.

   --debug
       Print debug messages to stderr.

   --help
       Print usage.

ОКРУЖАЮЩАЯ СРЕДА          UDEV_LOG              Установите приоритет syslog.

СОСТОЯНИЕ ВЫХОДА          vol_id будет возвращаться только успешно, если запрашивается значение   не пусто. Все конечные пробелы   будут удалены, пробелы заменены на   подчеркивание и слэши          игнорируются.

Тогда это вопрос проверки vol_id, как только у вас есть значение для этого диска ...


1
2017-09-27 23:32