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

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

Содержание

1 Прагматика

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

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

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

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

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

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

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

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

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

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

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

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

Похожие