Синхронизация фото android свой сервер

Обновлено: 19.09.2024

Ок. Потратил несколько часов на сбор всех фото-видео файлов в отдельные директории и переименование по шаблону с датой создания в имени файла.

Поставил на домашний сервер seafile. Тут выясняется что android клиент у него — это не полноценный клиент, не может сам отслеживать изменения, надо вручную отсылать и забирать их. Дальше внезапно выясняется что он ещё и не отправляет дату создания/модификации файла.

Это может и не так критично для фото, т.к. есть exif, но для видео файлов важно. Т.е. если я выгружу файлы, удалю их на телефоне, и при необходимости заберу обратно, как минимум стандартная галерея мне их неправильно рассортирует. Ну и вообще, неправильно это.

Начал искать дальше. Выясняется, что та же ситуация с owncloud.

Решил глянуть что по этой проблеме с проприетарщиной. Быстрый поиск по dropbox выдал тему, где человек пишет о той же проблеме.

Кто-нибудь знает какое-то рабочее решение? Хочу синхронизацию фоток/видео на свой сервер без потери даты создания.



В owncloud (nextcloud) есть возможность автоматической загрузки фото и видео.


Кто-нибудь знает какое-то рабочее решение?

Я для себя реализовал так.

Коммуникатор синкается с домашним сервером по btsync. Ибо это сегодня самый безглючный и лёгкий клиент под Android среди подобных систем. Отслеживаются изменения в две стороны, дата сохраняется. Единственный минус — нет версионности никакой.

Т.е. делаю я фотку на коммуникаторе, она тут же падает на домашний сервер в Collection/Unsorted/DCIM. Потом, если нужно, на любой из машин, где сижу, привожу в порядок, изменения синхронизируются по всей моей инфраструктуре.




это не полноценный клиент, не может сам отслеживать изменения, надо вручную отсылать и забирать их. Хочу синхронизацию фоток

Так фотки/видео он как раз и умеет синхронизировать.


А дата сохраняется там? В seafile тоже есть такая опция, но меня это не устроило. Моя камера не позволяет задать шаблон имени файла, поэтому я для этого использую отдельное приложение, которое переименовывает всё как надо. И потом хотел уже делать выгрузку вручную.


Я хочу именно на свой сервер.


Ок, надо глянуть на btsync. Но у меня исходная задача была ещё и высвободить место. Т.е. я выгружаю особо тяжелые файлы и удаляю на телефоне, если нужно — загружаю обратно. Тот факт что seafile и ownlcoud (судя по всему) не являются полноценными клиентами, мог позволить мне выгрузить файл, затем удалить его без отправки удаления на сервер.

В btsync я так понимаю если удалю файл на android, он везде удалится?

UPD А, понял, т.е. у тебя на телефоне всегда только unsorted коллекция, а полный вариант лишь на сервере?

orm-i-auga ★★★★★ ( 21.06.16 19:27:31 )
Последнее исправление: orm-i-auga 21.06.16 19:29:13 (всего исправлений: 1)


Проблема в том, что он дату не сохраняет.

Почему просто не использовать sshfs? Тот же solid explorer прекрасно справляется с этим.


Ещё не понял, зачем в такой схеме нужен syncthing, для версионности?


Копировать и удалять, да и синхронизировать с андроидом вручную же придется.

Посмотрите в сторону приложения для андроидов foldersync.

Ftp, scp, облака - вариантов у программа тьма. И шедулинг есть разумеется.

Deleted ( 21.06.16 19:55:21 )
Последнее исправление: Rainor 21.06.16 19:57:10 (всего исправлений: 1)


В btsync я так понимаю если удалю файл на android, он везде удалится?

UPD А, понял, т.е. у тебя на телефоне всегда только unsorted коллекция, а полный вариант лишь на сервере?

И так, и эдак. В DCIM/OpenCamera — свежие несортированные фотки. Но есть и сортированные отобранные — синхронизируется тем же btsync, но с другим подкаталогом на сервере. Т.е. я часто привожу в порядок фотки на сервере, коллекция на коммуникаторе приходит в тот вид, какой задаю на сервере же.


Ещё не понял, зачем в такой схеме нужен syncthing, для версионности?

Да. Другого инструмента для синхронизации с версионностью я пока не нашёл. btsync умеет только сохранять удалённый файл.


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


Дата в имени это же больше подсказка для человека. Тут ведь не только сортировка, но и группировка. С фотками ещё более менее всё хорошо, т.к. exif. Скажем, надо посмотреть все видео за 2016 год. Не знаю, есть ли галереи, парсящие дату из имени файла, да и если есть — это ненадёжно. Но точно есть которые могут группировать по дате создания файла.


+1 к FolderSync. Я его использую совместно с ownCloud. Потому что родной клиент - говно (по крайней мере, раньше было так).


Решение закрытое и платное, если ничто другое не устроит надо будет попробовать.


Ок, посмотрел я на syncthing, поставил, потестировал. Судя по всему — мне подходит. Сделал 3 директории: Images, Video, Unsorted Media. Unsorted Media замапил на директорию куда камера сохраняет фото/видео. Для всех директорий отключил версионность на андроиде и включил на сервере.

Ну и весь процесс теперь получается такой, фоткаю-снимаю что нужно, оно сохраняется в Unsorted Media и уходит на сервер. Либо с телефона, либо ещё откуда выбираю что удалить или оставить, переименовываю как нужно и переношу в Images и Video, а из Unsorted Media удаляю.

Таким образом я и свободное место на андроиде могу регулировать, и нужные данные всегда целые и синхронизированные на сервере. Сейчас как раз пошёл процесс выгрузки всех данных на сервер.

Остался лишь один неудобный момент. Если я удалил тяжелый файл из Video на андроиде (а на сервере он целый) и вдруг решил снова его загрузить на телефон, как форсировать его загрузку с серверной директории Video? Я пока лишь вижу вариант с перезаписью этого файла на сервере, в этом случае клиент увидит это и перекачает его. Но тогда и дата изменения поменяется, что не очень хорошо. KRoN73 , Reedych , т.к. вы писали здесь про syncthing, не в курсе как это решить?

Обзор претендентов на «готовое решение» и моя собственная реализация — под катом.

Сначала очерчу желаемый функционал:
1. Чтобы все новые фотографии закачивались в указанную папку.
2. Чтобы можно было сделать на компьютере папку, куда можно будет записывать какие-нибудь файлы, а после синхронизации они окажутся в указанной папке телефона (к примеру, закачивание свежей музыки на телефон).

Теперь можно отправляться на поиски.

Претенденты на «готовое решение»

Dropbox


(Windows, Mac OS, Linux)

К сожалению, Dropbox for Android не поддерживает автоматическую синхронизацию данных. Придется закачивать каждую фотку вручную. Есть надежда на сторонний клиент Droidbox, автор которого обещал ее реализовать, но, во-первых пока что это остается только обещанием, а во-вторых приложение платное. Не подходит.

SugarSync


(Windows, Mac OS)

У идентичного Dropbox'у сервиса под названием SugarSync есть свое приложение под Android. Но если я все-таки смог заметить малюсенькую ссылочку на регистрацию бесплатного аккаунта (который вмещает себя 2 гигабайта), то заставить клиент для телефона соединиться с их сервером у меня не получилось ни по WI-FI, ни по GPRS. К сожалению, по описанию на сайте не очень понятно есть ли функция автоматической синхронизации, так что вопрос остается открытым.

The Missing Sync


(Windows, Mac OS)

Судя по описанию на сайте, это приложение умеет все, что мне надо (и даже больше). Среди заявленных функций синхронизация закладок браузера, контактов, заметок, истории звонков, SMS, автоматическая конвертация и закачка видео, и много еще чего. Но программа не бесплатная и стоит $39.95, что для меня явно дороговато. Кроме того, прогулявшись по зарубежным форумам, я прочитал немало негативных отзывов об этой программе.

DoubleTwist


(Windows, Mac OS)

Программа, которую TechCrunch громко охарактеризовал «iTunes для Android», если верить цитате на сайте. По идее умеет синхронизировать музыку, видео и картинки. Мой телефон она не определила, а в списке среди возможных девайсов из знакомых названий был только Windows Mobile.

Но главная проблема в том, что она соединяется с компьютером по USB-кабелю и работает с ним как с флешкой. С таким подходом можно вообще использовать для синхронизации любую программу для автоматического бекапа данных, наша цель ведь была синхронизация по воздуху. Кроме того автоматически она может работать только в направлении «компьютер → телефон» и не умеет синхронизировать какие-либо другие форматы, кроме вышеуказанных.

Свой способ

Для себя я решил эту проблему таким образом: на телефоне поднимается FTP-сервер, а на компьютере запускается программа, которая автоматически заходит на него и делает все нужные мне манипуляции.

Что надо?


1. SwiFTP — бесплатный простенький FTP-сервер, разрешает настроить имя-пароль для доступа, корневую папку и зону доступности сервера (WI-FI и/или GPRS/3G).

2. WI-FI роутер (в настройках DHCP-сервера сделайте привязку IP к MAC-адресу телефона — это надо чтобы компьютер всегда четко знал по какому айпи ему надо коннектиться к FTP), либо рутованная прошивка и программа Wireless Tether for Root Users, которая делает из телефона точку доступа WI-FI (привет обладателям Nexus One с Froyo на борту, в котором есть нативная поддержка WI-FI tethering!).

3. Программа WinSCP
— FTP-клиент, который имеет функцию синхронизации и поддерживает автоматизацию посредством скриптов.

Что делать?

Сначала устанавливаем SwiFTP, заходим в настройки, указываем логин и пароль по своему желанию, отмечаем чекбокс «Accept connections from WI-FI». Сохраняем. Запускаем сервер кнопкой «Start».



Потом устаналиваем WinSCP, добавляем туда наш FTP-сервер под именем «android» (можно и другое, но не забудьте поменять его название в скрипте ниже).

Теперь самое интересное: скрипт синхронизации. Сразу же дам ссылку на документацию по скриптованию для WinSCP для тех, кто захочет переделать под себя.

Далее в качестве примера будет приведен мой скрипт, вот что он делает:
1. Скачивает в папку photos все фотографии (файлы из папки телефона images), которых еще нету на компьютере
2. Закачивает в папку телефона docs/new файлы из папки компьютера files\new (обычно у меня apk-файлы приложений, текстовые файлы и т.д.)
3. Закачивает в папку телефона music файлы из папки to_music
4. Создает (если еще нету) в папке files на компьютере новую папку с сегодняшней датой и перемещает туда уже закачанные файлы из files\new
5. Удаляет закачанную на телефон музыку с папки компьютера to_music

Создаем файл android_sync.bat, который будем запускать для начала синхронизации.

Создаем файл android_sync.txt, где будет храниться скрипт для WinSCP.

Как использовать?

Теперь можно вынести ярлык на android_sync.bat на рабочий стол. Таким образом, вся синхронизация сводится к нескольким кликам: запуск FTP-сервера, вызов android_sync.bat по ярлыку на рабочем столе, выключение FTP-сервера. Если у вас нет WI-FI роутера, то с запуском-остановкой Wireless Tether становится еще на пару кликов больше. Можно вообще свести количество телодвижений к минимуму, если держать FTP-сервер постоянно включенным и поместить синхронизацию в планировщик задач.

Очевидно, способ с FTP-сервером можно использовать не только под Windows, но выбранный мною клиент WinSCP не кроссплатформенен, а я ни с какими другими ОС достаточно тесно не знаком. Если кто-то в комментариях опишет аналогичный процесс для других ОС, я обязательно его добавлю в топик.

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

Чтобы настроить Sweet Home! на вашем устройстве Android сначала необходимо подключиться к желаемой сети Wi-Fi. Как только это будет сделано, запустите приложение и коснитесь Настройки. Нажмите Помощь и просмотрите справочный документ один раз, чтобы привыкнуть к странице настроек. Вернитесь, чтобы вернуться на страницу настроек, выберите желаемую сеть Wi-Fi из Домашняя сеть Wi-Fi раскрывающееся меню и введите путь к желаемой общей папке. Если у вас раньше не было опыта работы с сетевым доступом к файлам, возможно, вы захотите ознакомиться с нашим пошаговым руководством по обмену файлами для Windows 7.



Не забудьте проверить сетевой путь к общей папке, прежде чем вводить ее в Сетевая папка поле.


Если общий доступ к файлам защищен паролем, введите соответствующее имя пользователя и пароль в соответствующие поля. Если нет, оставьте поля пустыми и коснитесь Проверь сейчас. Вы можете отключить защиту паролем для общей папки по умолчанию и других общих каталогов в Центре управления сетями и общим доступом.

Если все сделано правильно, вы должны увидеть Настройки ОК уведомление ниже. Нажмите «Применить», и приложение автоматически вернет вас обратно в свое главное меню.



Теперь вы можете вручную загружать фотографии и видео в общую папку из главного меню, когда это необходимо (коснитесь Загрузить сейчас). Вы также можете проверить Автоматическая загрузка из меню настроек. Это позволит приложению начать загрузку фото и видео с камеры в фоновом режиме, как только будет подключена указанная сеть Wi-Fi.

Каждый раз, когда приложение запускается или завершает загрузку, в строке состояния появляется соответствующее уведомление.



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



Милый дом! доступен в Android Market бесплатно. Вы можете скачать его по ссылке ниже или отсканировать предоставленный QR-код.

что такое синхронизация в телефоне, что такое синхронизация в телефоне андроид, синхронизация телефона с компьютером, как сделать синхронизацию телефона, синхронизация смартфонов андроид

Смартфон стал частью жизни человека. В нем хранятся все памятные снимки, важные события, заметки, контакты, приложения и их данные. Все настройки сделаны так, чтобы пользоваться гаджетом было удобно. Но потом мы меняем аппарат на новый, вынуждены пользоваться другим смартфоном, и все настройки нужно делать заново. Стресс. Но если в устройстве включена синхронизация, стресса можно избежать.

А если вы еще не успели определиться с новым смартфоном, помочь с выбором может наш магазин — на нашем сайте вы всегда найдете самые актуальные модели по низким ценам.

Что такое синхронизация в телефоне

Синхронизация — механизм, который позволяет сохранить в целостности данные, файлы, когда они используются несколькими аппаратами в разное время. Не имеет значения, происходят корректировки или нет — для всех устройств файл остается единым.

Второй вариант определения синхронизации — использование одинаковой информации на разных гаджетах, между которыми есть связь.

Третий вариант определения — это обмен данными без потерь между аппаратом и учетной записью.

Зачем нужна синхронизация в телефоне

Синхронизация нужна, чтобы хранить важные данные и файлы, и иметь к ним удаленный доступ. На синхронизированном гаджете можно без потерь восстановить необходимые настройки и материалы в режим реального времени. Синхронизация нужна для нескольких опций в устройстве:

Резервное копирование. Копии в облаке создаются за счет синхронизации устройства с сервером в интернете. Благодаря резервным копиям человек сможет быстро восстановить нужную информацию;

Доступ к материалам из интернета. Например, вы синхронизировали список контактов из телефона и теперь можете посмотреть его в Google Contacts;

Работа через несколько устройств. Удобно тем, кто пользуется несколькими аппаратами. Достаточно их синхронизировать, и вся информация будет доступна на каждом устройстве.

Как работает синхронизация

Синхронизация происходит так:

Создается и настраивается аккаунт, где он будет хранить данные. Для андроид-смартфонов это обычно Google-аккаунт. С ним не нужно использовать сторонние приложения;

Запускается синхронизация. Выбранные пользователем данные сохраняются на сервисе и хранятся там под защитой;

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

Выгруженные данные появляются на подключенном к аккаунту аппарате.

Какие данные можно синхронизировать

Синхронизации подлежит разная пользовательская информация:

заметки и напоминания;

настройки ОС и приложений;

фотографии и аудиофайлы;

данные с веб-страниц — закладки, логины и пароли;

документы и папки.

Типы синхронизации

Синхронизацию можно поделить на два типа: односторонний запуск и двусторонний обмен.

При одностороннем запуске всегда есть ведущий и ведомый аппарат, и их роли нельзя будет изменить. Например, смартфон и сервисы Google. Все изменения происходят в сервисах, а на смартфоне только копируются материалы. Смартфон подчинен серверу. При двустороннем обмене пользователь сам выбирает, какое устройство ведущее, а какое — ведомой, и роли аппаратов могут меняться.

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

Как включить и настроить синхронизацию на телефоне

Нужно проделать ряд действий:

Открыть настройки смартфона и перейти в меню “Аккаунт”;

Выбрать сервер для работы. В андроидах это по умолчанию Google-аккаунт;

1.jpg

    Создайте учетную запись, если у вас ее нет. Если есть — войдите в нее;

Отметьте в настройках пункты, которые нужно синхронизировать в дальнейшем;

2.jpg

Дождитесь окончания копирования;

Синхронизация завершена, вы можете восстанавливать данные на других аппаратах.

Можно настроить автоматическое сохранение. Тогда не придется каждый раз делать копирование вручную.

Нужно помнить, что для синхронизации нужен интернет, без него копирование не произойдет. Неважно, какая будет связь — Wi-Fi или мобильная сеть.

Вовремя включенная синхронизация на смартфоне может сохранить пользователю нервы и время. И если вы поменяете решите поменять телефон, или вам придется пользоваться чужим гаджетом — вы без проблем сможете восстановить все данные.

Читайте также: