Как написать сценарий оболочки для выполнения rsync каждый раз, когда я подключаю внешний SSD?

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

#!/bin/bash
xsel -b|xsel -bi

Если вы сохраните этот файл в ~ / scripts / strip-format.sh, вам нужно будет дать ему исполняемые права с помощью chmod + x ~ / scripts / strip-format.sh , а затем добавить свой настраиваемый ярлык. Убедитесь, что вы используете полный путь к сценарию. На скриншоте замените $ USER своим именем пользователя.

enter image description here

После добавления ярлыка дайте ему комбинацию клавиш, и он должен работать в фоновом режиме.

2
25.05.2019, 08:09
2 ответа

вы можете добавить ожидание монтирования диска

например:

while ! [ -w /media/abhishek/Hachiko ]
do sleep 1
done

но для этого требуется, чтобы вы вошли в графический интерфейс пользователя, когда подключаете диск, вероятно, лучше -использовать автоматическое монтирование и монтировать диск явно.

0
27.01.2020, 22:17

Udev будет работать, только если вы передадите правильную информацию, как показано ниже для USB,

KERNEL=="sd*", ATTRS{vendor}=="<Vendor name>", ATTRS{model}=="<Model>", ATTRS{serial}=="<serial>", RUN+="/your script path"

Как вариант,

Я не мог написать полный код, так как не уверен в аппаратном обеспечении и других деталях, однако проверьте эту логику и вставьте crontab либо используйте долго работающий процесс, либо продолжайте проверять свои журналы. Новое оборудование должно быть видно в выводе dmesg.

if "string matching in dmesg" && "within 30s"; then 
     check disk is properly mounted
     check disk is writable
     start backup
fi

Включите логику проверки доступности диска для записи и правильного подключения перед началом резервного копирования.

1
27.01.2020, 22:17

Теги

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