Я храню папку с электронными книгами на компьютере, чтобы было удобно пополнять библиотеку и легко скопировать ее на новую карту памяти в случае чего. Раньше для обновления содержимого на карте я сохранял новые книги в отдельную папку, а потом копировал их. Но это было неудобно, хочу иметь единственный источник данных и синхронизировать карту с ним.
Я часто нахожу новые интересные книги и сохраняю их в библиотеку, чтобы потом почитать. И, чтобы упросить процесс переноса книг на читалку, написал скрипт, который синхронизирует папку с картой памяти.
Теперь у меня есть папка с книгами и скрипт, который синхронизирует ее с картой памяти PocketBook.
- pocketbook library
- sdcard
- books
- sync.sh
Вот как выглядит :
#!/bin/bash SOURCE="./sdcard" DESTINATION="/Volumes/book-sdcard" # Sync using rsync rsync -av --delete --size-only \ --exclude=".DS_Store" \ --exclude="._*" \ --exclude=".Spotlight-V100" \ --exclude=".Trashes" \ --exclude=".fseventsd" \ "$SOURCE/" "$DESTINATION/"
Этот скрипт полностью синхронизирует содержимое папки с картой памяти, подключенной к компьютеру. Он удаляет файлы на карте, которые были удалены из папки, и копирует новые или измененные файлы.
Важные ключи:
- — архивный режим, который копирует файлы и каталоги рекурсивно.
- — выводит подробную информацию о процессе.
- — удаляет файлы на карте, которых нет в папке.
- — сравнивает файлы только по размеру, игнорируя мета-параметры.
- — исключает определенные файлы и папки из синхронизации, чтобы не копировать системные файлы.
У меня sd карта называется и это указано в скрипте. Если у вас другая метка, замените ее.
Когда мне нужно синхронизировать книги при подключении Pocketbook или с картой напрямую, я просто запускаю скрипт в нужной папке, и он автоматически обновляет содержимое на карте памяти.
./sync.sh