Не знаю, насколько форматный будет пост, но тема думаю для многих актуальная.
Перебрав ВСЕ доступные утилиты, начиная от утилит командной строки и заканчивая приложениями с GUI (включая даже те, которых нет в репозиториях!), я понял, что меня не устраивает ни-че-го, и вот решил написать свою, "полуграфическую". Конечно на bash, другие языки знаю очень поверхностно. Изобретать велосипеды совершенно не охота, поэтому в качестве "фреймворка" выбрана gvfs.
1. Setup
Вот он-то как раз и "полуграфический", на основе Thunar/ Nautilus и "особых действий". Как там в кедах с пользовательскими действиями, совершенно не в теме.
В контекстное меню Custom Actions добавляем действие Синхронизировать, которое запускает скрипт1. Скрипт1 добавляет путь до выделенного файла (каталога) в обычный текстовый конфиг и для наглядности вешает на этот файл эмблемку emblem-synchronizing с помощью gvfs-set-attribute. Если файл уже есть в конфиге и соответственно имеет выбранную эмблему - проверяем gvfs-info -a metadata::emblems
- то он из конфига удаляется и эмблема снимается.
Предельно наглядно и просто. С сетапом все.
2. Backup
Тут элементарно, тем же rsync`ом во временную папку:
rsync ... --include-from=наш_конфиг ...
Можно даже по Cron.
3. Сохранение на внешний носитель (флешку, внешний диск и т.д.)
Редактировать правила udev совсем лениво, поэтому используем те же утилиты gvfs:
gvfs-monitor-dir /run/media/$USER/disk-label
При (авто)монтировании внешнего носителя получаем соответствующий event, на который вешаем третий скрипт, копирующий данные из временной папки на внешний носитель.
Скрипты пишутся, если надо, потом могу куда-нибудь выложить.