Зберігання та автоматичне сортування фото та інших файлів. Робота з файлосховищем на базі NAS Synology

Давно хотів написати про те, як я зберігаю свої файли, як роблю бекапи, але все ніяк не доходили руки. Нещодавно тут з'явилася стаття, в чомусь схожа на мою, але з іншим підходом.
Сама стаття.

Я вже багато років намагаюся знайти ідеальний для себе спосіб зберігання файлів. Думаю, я його знайшов, але завжди є що покращити, якщо є якісь думки як зробити краще, із задоволенням почитаю.

Почну з того що розповім пару слів про себе, я займаюся веб-розробкою і у вільний час фотографую. Звідси висновок що зберігати мені потрібно робочі та особисті проекти, фото, відео та інші файли.

У мене десь 680 GB файлів, з них 90 відсотків це фото і відео.

Кругообіг файлів у моїх сховищах:

Зберігання та автоматичне сортування фото та інших файлів. Робота з файлосховищем на базі NAS Synology

Тут зразкова схема того, як і де зберігаються всі мої файли.

Тепер докладніше.

Як видно, серцем всього є мій NAS, а саме Synology DS214, один з найпростіших NAS-ів у компанії Synology, проте з усім, що мені потрібно він справляється.

Dropbox

Робоча машина має macbook pro 13, 2015 року. У мене там 512GB але поміщаються само собою не всі файли, зберігаю тільки те, що потрібно на даний момент. Всі свої особисті файли та папки синхронізую з Dropbox-ом, знаю що це не дуже надійно, але він виконує лише функцію синхронізації. І робить він це найкраще, принаймні з того, що я перепробував. А перепробував я всі знамениті та не дуже хмари.

Synology також має свою хмару, можна її розгорнути на своєму NAS-і, я кілька разів пробував пересісти з Dropbox на Synology Cloud Station, але там завжди були проблеми з синхронізацією, завжди якісь помилки, або не все синхронізував.

Всі важливі файли зберігаються в папці Dropbox, іноді я зберігаю щось на робочий стіл, щоб щось не втратити зробив символ у папку Dropbox за допомогою програми MacDropAny.
Папка Download у мене ніяк не синхронізується, але там і немає нічого важливого, тільки тимчасові файли. Якщо качаю щось важливе, то копіюю у відповідну папку Dropbox.

Мої пригоди з DropboxКолись давно, десь у 2013-2014 я зберігав усі файли в Dropbox-e і тільки в ньому не було ніяких бекапів. Тоді у мене не було 1Тb, тобто я не платив за нього, я мав десь 25Gb, які я заробив шляхом запрошення друзів або інших завдань.

Одного чудового ранку я ввімкнув комп'ютер і всі мої файли зникли, так само отримав лист від Dropbox де вони вибачаються і що мої файли зникли з їхньої вини. Вони дали мені посилання, по якому я міг відновити свої файли, але само собою нічого не відновилися. За те вони подарували мені на рік 1Tb, після чого я став їх клієнтом, як би дивно це не звучало, але ніколи їм не довіряв.

Як писав вище, не зміг знайти більш підходящу для мене хмару, по-перше ще не було проблем синхронізації, по-друге багато всяких сервісів працюють тільки з Dropbox.

Git

Файли по роботі зберігаються на робочому сервері, індивідуальні проекти на GitLab-і, тут все просто.

машина часу

Так само я роблю бекап всієї системи, крім папки Dropbox і Downloads само собою, щоб не займати даремно місце. Бекап системи роблю через Time Machine, чудовий інструмент, не раз рятував. Роблю на тому ж NAS-і, благо там є така функція. Можна робити і на зовнішній HDD, звичайно, але це не так зручно. Потрібно щоразу підключати зовнішній диск та самому запускати Time Machine. Через лінощі часто такі бекапи робив раз на кілька тижнів. На сервер же він автоматично робить бекап, я навіть не помічаю, коли він це робить. Я працюю з дому, тому я завжди маю свіжу резервну копію всієї моєї системи. Робляться копію кілька разів на день, не рахував скільки разів і як часто.

NAS

Ось і відбувається вся магія.

Synology має відмінний інструмент, називається він Cloud Sync, думаю за назвою зрозуміло що він робить.

Він може синхронізувати багато хмарних систем між собою, якщо точніше синхронізувати файли з сервера NAS з іншими хмарами. Огляд даної програми думаю є в мережі. не вдаватимуся в подробиці. Краще опишу, як я її використовую.

Зберігання та автоматичне сортування фото та інших файлів. Робота з файлосховищем на базі NAS Synology

На сервері у мене є папка диск під назвою Dropbox, вона є копією мого Dropbox облікового запису, синхронізацією всього цього займається Cloud Sync. Якщо в Dropbox-і щось сталося з файлами, це станеться і на сервері, не важливо, щоб видати створення. Загалом класична синхронізація.

Яндекс диск

Далі, всі ці файли я кидаю на свій Яндекс диск, його я використовую як саморобний бекап диск, тобто файли туди кидаю але нічого не видаляю звідти, виходить таке звалище файлів, але кілька разів рятувало.

Google Drive

Туди я відправляю тільки папку «Photos», так само в режимі синхронізації, роблю я це тільки для зручного перегляду фото в гугл фото і з можливістю видалення звідти фото і вони скрізь видаляються (крім яндекс диска само собою). Про фото я напишу нижче, там взагалі можна окрему статтю написати.

HyperBackup

Але все це не дуже надійно, якщо випадково видалив файл, то він скрізь видаляється і можна вважати його втраченим. Можна звичайно відновити з яндекс диска, але в перших бекап в одному місці не дуже надійний сам по собі, та й сам яндекс диск, не той сервіс, в якому можна бути впевненим на 100%, хоч з ним ще жодного разу не було проблем.

Тому я завжди намагався зберігати файли ще десь, вже з нормальною системою бекапів.

Зберігання та автоматичне сортування фото та інших файлів. Робота з файлосховищем на базі NAS Synology

У Synology також є інструмент для цього, називається він HyperBackup, він робить бекап файлів або на інші сервери Synology, або на якісь клауд рішення від сторонніх виробників.
Також він вміє робити бекап на зовнішні диски, підключені до NAS-y, так я й робив донедавна. Але це теж не надійно, наприклад, якщо пожежа то кінець і серверу і HDD.

Synology C2

Тут ми плавно підходимо до іншого сервісу, вже від Synology. Вона має свої хмари для зберігання бекапів. Заточений він саме під HyperBackup, він робить туди бекап щодня, але це вже продуманий backup, там є версії файлів, таймлайн і навіть клієнти для windows та mac os.

Зберігання та автоматичне сортування фото та інших файлів. Робота з файлосховищем на базі NAS Synology

На цьому, зі збереженням файлів все, сподіваюся мої файли в безпеці.

Тепер перейдемо до сортування файлів.

Звичайні файли, книги, скани документів та інші незначні файли я, як і всі, сортую по папках руками. Зазвичай їх небагато і відкриваю їх рідко.

Найскладніше із сортуванням фото та відео, у мене їх багато.

Фото я роблю від кількох десятків до кількох сотень на місяць. Знімаю на дзеркалку, на дрон та інколи на телефоні. Фото бувають особисті та для стоків. Також іноді знімаю домашнє відео (не те, що ви подумали, просто сімейні відео, частіше з донькою). Його теж треба якось зберігати та сортувати, щоб не була каша.

У мене є папка в тому ж Dropbox-і, під назвою Sort Images, там є підпапки, куди потрапляють всі фото і відео, звідти вони беруться і сортуються куди треба.

Зберігання та автоматичне сортування фото та інших файлів. Робота з файлосховищем на базі NAS Synology

Сортування відбувається на сервері NAS, там працюють bash скрипти, які автоматично запускаються раз на добу і роблять свою роботу. За їх запуск також відповідає NAS, там є планувальник завдань, який і відповідає за запуск усіх скриптів та інших завдань. Можна налаштувати як часто і коли запускатимуться завдання, крон з інтерфейсом якщо простіше.

Зберігання та автоматичне сортування фото та інших файлів. Робота з файлосховищем на базі NAS Synology

Для кожної папки є скрипт. Тепер докладніше про папки:

трутень - Тут потрапляють фото з дрону, які я зняв в особистих цілях. Спочатку я обробляю всі фото в lightroom, потім роблю експорт JPG до цієї папки. звідти вони потрапляють до іншої папки Dropbox, «Photo».

Там є папка "Drone" і там вже вони сортуються за роками та місяцями. Скрипти самі створюють необхідні папки і перейменовують самі фото за моїм шаблоном, зазвичай це дата і час зняття фото, так само додаю наприкінці рандомну цифру, щоб не виходили файли з тим самим ім'ям. Не пам'ятаю, чому для цих цілей не підходило виставлення секунд в імені файлу.

Дерево має такий вигляд: Photo/Drone/2019/05 - May/01 - May - 2019_19.25.53_37.jpg

Зберігання та автоматичне сортування фото та інших файлів. Робота з файлосховищем на базі NAS Synology

Відео з дрона — я поки що не знімаю відео дроном, там треба багато вчити, немає для цього зараз часу, але теку вже створив.

Images Operations — тут усередині дві папки, коли файли там трапляються, то вони просто або стискаються по максимальній стороні до 2000px для публікації в інтернеті або робиться фліп картинок, це вже мені не потрібно, але поки що папку не видалив.

Панорами - Тут потрапляють як не складно здогадатися панорами, їх я зберігаю окремо, оскільки це специфічний вид фото, зазвичай роблю їх дроном. Я роблю і звичайні панорами але так само роблю 360 панорами і іноді сфери, такий вид панорам як маленькі планети, роблю так само дроном. З цієї папки всі фото потрапляють також у Photo/Panoramas/2019/01 - May - 2019_19.25.53_37.jpg. Тут я не роблю сортування по місяцях так як панорам не так багато.

Особисте фото - Тут потрапляють фото які роблю на дзеркалку, зазвичай це сімейні фото або подорожі, загалом фото які робляться на згадку і для себе. Також сирі фото обробляю а lightroom-е і потім експортую сюди.

Звідси вони потрапляють сюди: Photo/2019/05 - May/01 - May - 2019_19.25.53_37.jpg

Якщо ж я зняв якусь урочистість або ще щось краще зберігати окремо то в папці 2019 створюю папку з назвою урочистості і копію туди фото руками.

RAW - Тут потрапляють вихідні фото. я завжди знімаю в RAW, всі фото зберігаю в JPG, але іноді хочеться зберігати також і RAW файли, іноді хочеться інакше обробити якийсь кадр. Зазвичай це природа і туди потрапляють лише найкращі кадри, не всі поспіль.

Фотографія запасу - сюди я скидаю фото для стоків, які роблю або на дзеркалку, або на дрон. Сортування таке ж, як і на інших фото, просто в свою окрему папку.

У кореневій директорії Dropbox є папка Camera Uploads, це дефолтна папка в яку мобільний додаток Dropbox скидає туди всі фото і відео. Усі фото дружини з телефону скидаються таким чином. Я також всі свої фото та відео з телефону скидаю сюди і звідси вже сортую в окрему папку. Але я роблю це іншим способом, зручнішим для мене. Є така програма для Android, FolderSync, вона дозволяє брати всі фото з мобілів, закачати їх на Dropbox і потім видалити їх з телефону. Там безліч налаштувань, рекомендую. У цю папку потрапляють і відео з телефону, вони також сортуються, як і всі фото, за роками та місяцями.

Усі скрипти я зібрав сам із будь-яких інструкцій в інтернеті, готових рішень не знайшов. Я взагалі нічого не знаю про баш скрипти, можливо є якісь помилки або якісь речі можна було б зробити краще, але найголовніше — для мене вони справляються зі своєю роботою і роблять те, що мені треба.

Скрипти залив на гітхаб: https://github.com/pelinoleg/bash-scripts

Раніше для сортування фото, відео я використав Hazel під mac os, там само собою все легше, там усі завдання створюються візуально, не треба писати код, але тут є два мінуси. По-перше, потрібно тримати всі папки на комп'ютері, щоб все добре працювало і друге, якщо раптом пересяду на windows або linux то там немає таких програм. Пробував шукати альтернативу, але всі вони були ні про що. А рішення зі скриптами на сервері є більш універсальним рішенням.

Усі скрипти налаштовані щоб виконувалися раз на добу, зазвичай уночі. Але якщо немає часу чекати і потрібно якось виконати потрібний скрипт зараз, є два рішення, підключитися по SSH до сервера і виконати потрібний скрипт або зайти в адмінку і так само мануально запустити потрібний скрипт. Все це мені здається не зручним, тож я знайшов третє рішення. Існує програма під Android, вона може відправляти команди ssh. Я створив кілька команд, для кожної є своя кнопка і тепер якщо мені потрібно відсортувати наприклад фото, які зробив з дрона, то просто натискаю одну кнопку і скрипт спрацьовує. Програма називається SSHing, є й інші схожі, але для мене ця зручна.

Зберігання та автоматичне сортування фото та інших файлів. Робота з файлосховищем на базі NAS Synology

Так само у мене кілька своїх сайтів, вони більше для галочки, туди практично ніхто не заходить, але все ж backup робити не завадить. Сайти я тримаю на DigitalOcean, встановив там панель aaPanel. Там є можливість зробити резервні копії всіх файлів і баз даних, але на тому ж диску.

Зберігати бекап на тому ж диску не діло, тому я так само через bash скрипт стукаю туди і копіюю все на свій сервер, архівуючи все в одному архіві з датою в назві.

Сподіваюся, хоч комусь допоможуть способи, що я використовую і з якими поділився.

Як видно зі статті, я люблю автоматизацію і намагаюся автоматизувати все, що тільки можна, я багато речей не описував з точки зору автоматизації, оскільки це вже інші теми та інші статті.

Джерело: habr.com

Додати коментар або відгук