LINUX.ORG.RU

Велосипед для синхронизации файла с облаком

 , , ,


1

1

Здрастия!

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

Решил, что пора делать бэкапы через облака. Благо, что у баз keepass можно читать открытый файл и даже перезаписывать - и он подхватится автоматом! Выбор остановился на MEGA как на наиболее резонном сервисе. На оффтопике накатил официальное приложение и настроил sync, на андроиде и вручную нормально. А на домашнем онтопике хотелось чистенько и красиво, да и автоматом бэкапы хотелось бы сделать.

Ближе к делу - решил сделать простенький велосипед, который бы умно синкал базу в обе стороны, делал бэкапы и работал без демонов (ну, кроме крона). И зделол!

Нужно только иметь megacmd с настроенным megarc конфигом в системе, а остальные утилиты всегда есть. Вот сам скриптец: https://notabug.org/bfgeshka/apps/src/master/ishell/megasync.sh

★★★★★
echo "Local and remote are too far apart (${DIFFSECONDS}s), syncing..."
test $DIFFSECONDS -lt "0" && echo "Remote is too old!" && sendremotefile "$REMOTEFILEPATH" "${SYNCEDDIR}/${SYNCEDFILE}"
test $DIFFSECONDS -gt "0" && echo "Local is too old!" && getremotefile "$SYNCEDDIR" "$REMOTEFILEPATH" "$SYNCEDFILE

Ааа, он опять, ахахахаха, ууу, покойтесь с миром, данные.

Ребята, нас троллят. Ставьте syncthing, проходите мимо, тут мега — адекватный сервис, а всесто syncthing или, прости Аллах, unison — автозатиралка ваших изменений по дате на баше.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

Вроде как ещё в прошлом веке изобрели set -e, но снова наблюдаем тщетную попытку разрулить все возможные ошибки в баш-портянке вручную, обреченную на провал.

В случае фейла megaget вся эта шаткая конструкция уйдёт в анабиоз, и без ручного восстановления файлика из бекапа работать не будет. Я не знаю, как именно работает KeePaaXC, но если он может в случае отсутствия файла создать новый пустой, то это megalol.

anonymous
()
Ответ на: комментарий от t184256

syncthing

Это если у тебя есть два устройства и на обоих есть место. Иногда нужно куда-то слить большие объёмы данных на время, и тут у меги как бы нет конкурентов. Но я бы всё равно не стал этого делать, я лучше вместо подписки на мегу куплю внешний хард.

mord0d ★★★★★
()