Скачать фотографии с google photo

Скачать фотографии с google photo.

Содержание

1 Прагматика

  • Необходимо было скачать фотографии с сервиса Google Photo.
  • Кроме того, желательно разместить их на другом облачном сервисе.
  • Предполагается разместить на Яндекс с тарифом из группы Яндекс Плюс.
  • На этом тарифе фотографии размещаются без учёта места под них в случае, если загружаются с мобильного телефона.
  • Предполагается следующий алгоритм:
    • Скачать фотографии на локальный компьютер.
    • Переименовать фотографии.
    • Перенести фотографии на телефон.
    • Скопировать фотографии в локальное хранилище.

2 Скачивание фотографий

  • Скачивать будем с помощью rclone (см. rclone).
  • Запусти команду:
    1rclone config
    
  • Создадим учётную запись google-photo для сервиса Google Photos.
  • Проверьте соединение:
    1rclone ls google-photo:media
    
  • Создадим каталог для скачивания:
    1mkdir -p ~/work-local/google-photo/sync
    
  • Скачаем фотографии с размещением по месяцам:
    1cd ~/work-local/google-photo/sync
    2rclone sync google-photo:media/by-month .
    
  • Если будет ошибка о превышении квоты на скорость чтения, поставьте ограничение (10 запросов в секунду):
    1rclone sync --tpslimit 10 google-photo:media/by-month .
    

3 Переименование фотографий

  • Подготовим каталог, из которого будем переносить фотографии на телефон:
    1mkdir -p ~/work-local/google-photo/phone
    
  • Сдублируем фотографии:
    1cd ~/work-local/google-photo/sync
    2find . -type f -exec ln '{}' ../phone/ \;
    
  • Переименуем фотографии:
    1jhead -n%Y%m%d-%H%M%S *.jpg
    2jhead -n%Y%m%d-%H%M%S *.jpeg
    3jhead -n%Y%m%d-%H%M%S *.jpe
    4exiftool "-filename<createdate" -globaltimeshift "-0:0:1 0:0:0" -d %Y%m%d-%H%M%S.%%e .
    
  • Также можно переименовать файлы на основе времени создания:
    1for i in *.png; do mv -n "$i" "$(date -r "$i" +"%Y%m%d-%H%M%S").png"; done
    2for i in *.gif; do mv -n "$i" "$(date -r "$i" +"%Y%m%d-%H%M%S").gif"; done
    3for i in *.mp4; do mv -n "$i" "$(date -r "$i" +"%Y%m%d-%H%M%S").mp4"; done
    4for i in *.avi; do mv -n "$i" "$(date -r "$i" +"%Y%m%d-%H%M%S").avi"; done
    

4 Копируем фотографии на телефон

  • Подключим телефон.

  • Посмотрим список подключённых устройств:

    1simple-mtpfs -l
    
  • Подмонтируем телефон (от был под номером 1 в списке устройств):

    1mkdir -p ~/n/mtp/
    2simple-mtpfs --device 1 ~/n/mtp/
    
    • Создадим каталог на телефоне для фотографий:
      1mkdir -p ~/n/mtp/google-photo
      
    • Скопируем (или перенесём) файлы на телефон:
      1rsync -aiv ~/work-local/google-photo/phone/* ~/n/mtp/google-photo/
      
    • Можно удалять файлы по мере копирования:
      1rsync -aiv --remove-source-files ~/work-local/google-photo/phone/* ~/n/mtp/google-photo/
      
    • Вы можете потом поправить время создания файлов:
      1jhead -ft *.jpg
      

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие