10 июн. 2024 г.

RSYNC Cygwin to NAS326

 Rsync из Windows через cygwin уже был, вот здесь - https://dzelenov.blogspot.com/2014/07/rsync-windows-cwrsync.html

Усложняем задачу. Копировать надо с Windows (см. пред. статью) на ZyXel NAS326. Проблема та же - не съесть весь bandwidth.

1. На NAS надо поставить rsync. Для этого надо разрешить ssh в вебинтерфейсе 








и попасть в shell (busybox).

Потом из пакетов по этой статье - https://stepin.name/en/technoblog/080-rsync-on-nas326/
ставим rsync. Все хорошо, кроме того, что он удаляется после перезагрузки и надо скрипт выполнять заново.
Если коротко - ставим репозитарий и из него ставим rsync с зависимостями.

cat >/i-data/d732885c/install_rsync.sh <<EOF
curl -fLO http://entware.zyxmon.org/binaries/armv7/installer/entware_install.sh
chmod +x entware_install.sh
./entware_install.sh
/opt/bin/opkg install --force-space rsync
cp /opt/bin/rsync /bin
EOF
chmod 755 /i-data/d732885c/install_rsync.sh

2. Пробуем копировать файлы из Linux, типа 

rsync -e ssh --partial --progress --bwlimit=100K --time-limit=300 ~/rsynctest/* root@192.168.1.101:/i-data/022cf873/Video

Пароль спрашивает, но работает.

3. Ставим cygwin, пробуем из Windows - не работает.

Нужно:

- Создать файл ~/.ssh/config на Windows, вписать туда

Host NAS326
  HostName 192.168.1.101
  HostKeyAlgorithms=+ssh-rsa

чтобы ssh cygwin знал, что нужно использовать ключи rsa.

- сгенерировать пару ключей в Windows и отправить их в NAS

ssh_keygen -t rsa
ssh-copy-id root@NAS326

После этого можно уже запускать синхронизацию, обращаясь к NAS уже строго по имени.

rsync -e ssh --partial --progress --bwlimit=1000K --time-limit=300 /cygdrive/d/Backup/daily/* root@NAS326:/i-data/022cf873/Backup

Ключи:

--partial --progress -сохранять недокачанную часть, при повторном запуске продолжать
--bwlimit=1000K - скорость не больше 1Мбайт/с
--time-limit=300 - через 5 часов обрубить, так как будет нужен Интернет на полную.

Автоматизация запуска rsync на cygwin - по старой статье 2014 года.