Возникла тут задачка:
- Имеется n>=2 компьютеров, на которых можно запустить некоторый сервис.
- Одновременно этот сервис может быть запущен только на одном из этих компьютеров. Если запустить на двух, работиать толком не будет на обоих.
- Вообще говоря эти компьютеры могут находиться в разных углах интернета, за разными натами.
- Хочется чтобы при включении/перезагрузке компьютера, на котором перед выключением был запущен этот сервис, он бы запускался опять
- В идеале (но это явно потребует альтернативного канала связи между компьютерами) хочется иметь возможность руками стартовать сервис на компьютере, где он не был ранее запущен, и чтобы перед тем как запускаться, он нашел текущую запущенную копию и ее остановил.
Если же говорить о том, откуда такая задача взялась, то ситуация очень проостая. Есть корпоративная VPN, ключи для которой админы выдают не на устройство, а на сотрудника. И у меня, сотрудника, есть несколько устройств, с которых я хочу к этой vpn подключаться. При этом не факт, что то устройство, с которого сейчас подключен и то, с которого я хочу теперь подключится, физически находятся рядом. Я мог забыть отключить vpn на домашнем десктопе и уехать в деревню, и теперь подключаться с ноутбука.
Вторая задача:
Имеется несколько бэкапных USB-дисков. Бэкап на которые осуществляется по очереди. При этом на один диск может бэкапиться несколько ноутбуков. При этом бэкап делается не слишком регулярно. Если я неделю ноутбук не включал, то неделю он и не бэкапится - на нем же ничего не менялось. Каждый диск имеет название (из одной руны футарка, но это не важно. Можно считать что там произвольная не слишком длинная строка unicode). Задача - сделать так чтобы было легко определить, на каком из дисков лежит самый свежий бэкап данного ноутбука. Очевидное решение - если у нас об успешном завершении бэкапа посылается сообщение в какой-нибудь мессенжер, то включать в это сообщение метку диска "бэкап машинки achird на диск ᚢ завершен успешно". Правда рыться в логах мессенжера в поисках последнего бэкапа ноутбука который не включался уже два месяца, а за эти два месяца уже по тридцать раз сбэкаплены три других... Надо бы какого-нибудь бота приладить, чтобы он это читал, и писал бы html страничку со списком машин по алфавиту и именам датами последних бэкапов каждой из них на все диски.
X-Post to LJ