Как синхронизировать диктофон и плейер с десктопом? Если с телефоном проблем не возникает - см syncthing, который всех и вся оставляет далеко за флагом, то с плейером (аудиокниги, подкасты и языковые уроки) и диктофоном (мои аудиозаметки) все не так просто.
Вопрос почему вообще у меня до сих пор в ходу плейер и диктофон тогда, как телефон совмещает в себе все и даже больше - это отдельный вопрос. Краткий ответ - на них есть тактильные кнопки, по причине чего ими удобно пользоваться на ходу. Плейер удобнее, если под него засыпать. Еще одно преимущество - экономия батарейки при блэкаутах.
Первое, что я определил для себя - синхронизация должна происходить в автоматическом или почти автоматическом режиме. Не хочу думать о том, что и как перезаписывать. Вставил, синхронизировал, вытащил, пользуюсь.
Отсюда следующий принцип: файлы скрипта синхронизации “приходят” вместе с носителем. То есть я не ищу ничего на диске или в меню - скрипт лежит там же, где папки, которые он синхронизирует. То, что диск может быть в fat32 файловой системе (хотя я стараюсь этого избегать) меня не останавливает. Я просто открываю терминал в этой папке и набираю:
И бум! Все остальное случается само собой.
Вопрос в том, как построить sync.sh
С плейером, который синхронизируется “в одну сторону” все оказалось довольно просто:
Выглядит большим, но это потому, чтоя поленился использовать функции.. у меня четыре папки на десткопе, которые я хочу синхронизировать, остальное тут однотипное.
Используется
Пути для
Интересная подробность - Sansa Clip Plus вполне себе кушает 32Гб карточку, чего хватает больше чем с головой.
С диктофоном все получилось сложнее. У него не односторонняя связь, а двусторонняя. Я обычно надиктовываю что-то на ходу, а разбираю записи уже на десктопе, удаляя неважное или неактуальной и складывая в основную систему те файлы, которые хочу сохранить. Тут односторонним
Оба скрипта заканчиваются командой
Вопрос почему вообще у меня до сих пор в ходу плейер и диктофон тогда, как телефон совмещает в себе все и даже больше - это отдельный вопрос. Краткий ответ - на них есть тактильные кнопки, по причине чего ими удобно пользоваться на ходу. Плейер удобнее, если под него засыпать. Еще одно преимущество - экономия батарейки при блэкаутах.
Первое, что я определил для себя - синхронизация должна происходить в автоматическом или почти автоматическом режиме. Не хочу думать о том, что и как перезаписывать. Вставил, синхронизировал, вытащил, пользуюсь.
Отсюда следующий принцип: файлы скрипта синхронизации “приходят” вместе с носителем. То есть я не ищу ничего на диске или в меню - скрипт лежит там же, где папки, которые он синхронизирует. То, что диск может быть в fat32 файловой системе (хотя я стараюсь этого избегать) меня не останавливает. Я просто открываю терминал в этой папке и набираю:
bash sync.sh
И бум! Все остальное случается само собой.
Вопрос в том, как построить sync.sh
С плейером, который синхронизируется “в одну сторону” все оказалось довольно просто:
#!/bin/bash
# abook
rsync --progress --size-only --update --recursive --times \
--ignore-errors --max-size=4GB \
--delete \
~/av/mp3/001_redmi_mp3/001_abook/ ./1_abook
# pod
rsync --progress --size-only --update --recursive --times \
--ignore-errors --max-size=4GB \
--delete \
~/av/mp3/001_redmi_mp3/002_pod/ ./2_pod
# lingvo
rsync --progress --size-only --update --recursive --times \
--ignore-errors --max-size=4GB \
--delete \
~/av/mp3/001_redmi_mp3/003_lingvo/ ./3_lingvo
# albums
rsync --progress --size-only --update --recursive --times \
--ignore-errors --max-size=4GB \
--delete \
~/av/mp3/001_redmi_mp3/albums/ ./albums
# albums_tor
rsync --progress --size-only --update --recursive --times \
--ignore-errors --max-size=4GB \
--delete \
~/av/mp3/001_redmi_mp3/albums_tor/ ./albums_tor
sync
Выглядит большим, но это потому, что
Используется
rsync
который синхронизирует все нужные директории с папкой плейера. Ключ --delete
говорит rsync
что папки, которые удалены на десктопе, нужно удалять и на плейере.Пути для
rsync
заданы относительно текущей папки скрипта (например ./1_abook
), поэтому его можно универсально перекладывать на разные папки для разных плейеров (например) и каждый раз после запуска он будет воспроизводить и после этого синхронизировать одинаковую структуру папок.Интересная подробность - Sansa Clip Plus вполне себе кушает 32Гб карточку, чего хватает больше чем с головой.
С диктофоном все получилось сложнее. У него не односторонняя связь, а двусторонняя. Я обычно надиктовываю что-то на ходу, а разбираю записи уже на десктопе, удаляя неважное или неактуальной и складывая в основную систему те файлы, которые хочу сохранить. Тут односторонним
rsync
не отделаешься, поэтому используется unison
в batch
режиме (чтобы не докучал вопросами что и куда складывать).#! /bin/bash
unison -batch ./VOICE/ ~/av/dict/0_inbox
sync
Оба скрипта заканчиваются командой
sync
которая сбрасывает буфера, точнее “…который вызывает запись всех буферизованных изменений метаданных файлов и данных в базовые файловые системы. Он гарантирует, что все, что хранилось в памяти, будет записано на диск, предотвращая потерю данных, хранящихся в кеше, при аварийном завершении работы”.