Синхронизация фотографий с двух телефонов в папку на Debian 12

🔧 1. Установка Syncthing на сервер (от пользователя kvictor)

sudo apt update sudo apt install syncthing

Добавим автозапуск:

sudo loginctl enable-linger kvictor systemctl --user enable syncthing systemctl --user start syncthing

Проверь, что Syncthing работает:

systemctl --user status syncthing

Открой интерфейс Syncthing на сервере:

http://<IP_сервера>:8384

📱 2. На каждом телефоне (Android)

  1. Установи Syncthing Android.
  2. При первом запуске:
    • Включи "разрешить работу в фоне".
    • Разреши доступ к файловой системе.
  3. Создай папку для синхронизации:
    • Название: Phone1Photos (или Phone2Photos на втором телефоне).
    • Путь:
    • swift/storage/emulated/0/DCIM
    • КопироватьРедактировать
    • Режим: Send Only.
  4. Добавь устройство сервера (отсканируй QR или введи Device ID).
  5. Прими запрос на добавление устройства на сервере (см. браузер, вкладка Syncthing).
  6. На сервере:
    • Прими папку и укажи путь, например:и
    • swift/srv/common/photo/incoming/phone2
    • КопироватьРедактировать
    • swift/srv/common/photo/incoming/phone1
    • КопироватьРедактировать

📁 3. Настройка структуры папок

Создай нужные директории:

sudo mkdir -p /srv/common/photo/incoming/phone1

sudo mkdir -p /srv/common/photo/incoming/phone2

sudo mkdir -p /srv/common/photo

sudo chown -R kvictor:kvictor /srv/common/photo

🧠 4. Скрипт сортировки по году

Создай файл скрипта:

sudo nano /usr/local/bin/photo_sorter.sh

Содержимое:

#!/bin/bash

SRC_BASE="/srv/common/photo/incoming"

DST_BASE="/srv/common/photo"

find "$SRC_BASE" -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' -o -iname '*.mp4' -o -iname '*.mov' \) | while read -r file; do

      # Определим год по дате файла

       year=$(date -r "$file" +"%Y")

      # Папка назначения

       dst="$DST_BASE/$year"

        mkdir -p "$dst"

      # Переместим файл, если он ещё не там

       if [ "$(dirname "$file")" != "$dst" ]; then

           mv -n "$file" "$dst/"

       fi

done

Сделай его исполняемым:

sudo chmod +x /usr/local/bin/photo_sorter.sh

⏱ 5. Cron-задача для автосортировки

Открой крон для пользователя kvictor:

crontab -e

Добавь строку:

*/10 * * * * /usr/local/bin/photo_sorter.sh

✅ Готово!

📦 Пример итоговой структуры:

/srv/common/photo/

├── 2024/

│       ├── IMG_1234.jpg

├── 2025/

│      ├── IMG_9876.jpg

├── incoming/

│      ├── phone1/

│      └── phone2/

Comments powered by CComment