# Резервирование файлов ПЛК через rsync

Windows-клиент забирает файлы у linux-сервера при помощи rsync по ssh. Все действия выполняются на стороне windows-клиента под пользователем `user`.

### cygwin

Скачать и распаковать в `C:\` - cygwin32, cygwin64.

Или развернуть с нуля cygwin:

- Root Install Directory: `c:\cygwin`
- Local Package Directory: `c:\cygwin_dist`
- Select Packages:
  - net/rsync
  - net/openssh
  - utils/mc
  - utils/dos2unix

### ssh

    C:\cygwin\Cygwin.bat

Далее в терминале:

    ssh-keygen -f ~/.ssh/id_rsa -q -P ""
    ssh-copy-id -i ~/.ssh/id_rsa jrobo@<remote_ip>
    ssh jrobo@<remote_ip>
    exit
    exit

### rsync

Создать три файла в `d:\asutp\utils\jrbackup`.

`backup_jroboplc_start.bat`:

    start /min backup_jroboplc.bat

`backup_jroboplc.bat`:

    PATH=C:\cygwin\bin;%PATH%
    dos2unix backup_jroboplc.sh
    bash backup_jroboplc.sh
    exit

`backup_jroboplc.sh`:

    remote_host=192.168.2.210
    remote_user=jrobo
    remote_dir=/data/jroboplc/
    backup_dir=/cygdrive/d/asutp/jroboplc_backup
    mkdir -p ${backup_dir}
    rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --delete --progress ${remote_user}@${remote_host}:${remote_dir} ${backup_dir}

### scheduler

1. Запустить `taskschd.msc`
2. Выбрать дереве `Библиотека планировщика заданий`
3. В главном меню `Действие / Создать папку` - `promauto`. Выбрать созданную папку.
4. Правый клик `Создать простую задачу`
   - Имя `jroboplc_backup`
   - Ежедневно / Повторять каждый 1 день
   - Запустить программу `d:\asutp\utils\jrbackup\jroboplc_backup_start.bat`, Рабочая папка `d:\asutp\utils\jrbackup`
5. Открыть свойства созданной задачи
   - Триггеры, двойной клик по триггеру, установить `Повторять задачу каждые 1 ч`
   - Параметры, установить `Немедленно запускать задачу…`