Поскольку аддонов для DNS-320 нет и статей на тему облаков нет, решил написать.
Придется потратить час времени на подготовку к компиляции.
Что нужно сделать.
1. Установить ffp
2. Установить optware(
http://nas-tweaks.net/219/installation- ... c-ch3mnas/)
Код:
wget http://wolf-u.li/u/233 -O /ffp/start/optware.sh
chmod a+x /ffp/start/optware.sh
/ffp/start/optware.sh start
Перезагружаем NAS
3. Скомпилировать mount.davfs2 (
http://habrahabr.ru/post/179323/)
3.1. Обновляем библиотеки и устанавливаем важные приложения (длительный процесс)
ipkg update
ipkg install neon gcc optware-devel
3.2.Скачиваем и распаковываем в любую директорию на NAS davfs2, сейчас версия 1.4.7
Код:
wget http://mirrors.zerg.biz/nongnu/davfs2/davfs2-1.4.7.tar.gz
tar -xzf davfs2-1.4.7.tar.gz
3.3. В распакованном каталоге "davfs2-1.4.7" нужно отредактировать файл src/webdav.c, а конкретно – последнюю строчку(2001) в функции ssl_verify меняя return
ret на return 0
3.4. Компилируем и устанавливаем webdav2
Код:
./configure --prefix=/opt --with-neon=/opt && make && make install
4. Настроить mount.davfs2
4.1 Теперь создаем пользователя davfs2 и группу пользователей davfs2
Код:
groupadd davfs2
useradd -g davfs2 davfs2
4.2. Настраиваем параметры в файле /opt/etc/davfs2/davfs2.conf
В частности, ставим ask_auth 0
И cache_dir, например /mnt/HD/HD_a2/cache_webdav2
(не забыть создать папку cache_webdav2 и дать на неё права пользователю davfs2)
4.3. Прописываем логин и пароль к нужному сервису в файле /opt/etc/davfs2/secrets
для примера – Яндекс.диски
Код:
/mnt/HD/HD_a2/yandex1 user1@yandex.ru ПАРОЛЬ1
/mnt/HD/HD_a2/yandex2 user2@yandex.ru ПАРОЛЬ2
/mnt/HD/HD_a2/yandex3 user3@yandex.ru ПАРОЛЬ3
5. Монтируем каталоги
Код:
/opt/sbin/mount.davfs https://webdav.yandex.ru /mnt/HD/HD_a2/yandex1
/opt/sbin/mount.davfs https://webdav.yandex.ru /mnt/HD/HD_a2/yandex2
/opt/sbin/mount.davfs https://webdav.yandex.ru /mnt/HD/HD_a2/yandex3
6. Выполняем разностное копирование
Например с использованием rsync(исполняемый файл /mnt/HD/HD_a2/webdav.sh в UTF-8)(
http://greendail.ru/node/487)
Код:
#!/bin/sh
DAY=`date +%Y-%m-%d`
rsync --force --ignore-errors --delete --backup --backup-dir=/mnt/HD/HD_a2/recycle/$DAY -av /mnt/HD/HD_a2/yandex1/Фотокамера/ /mnt/HD/HD_a2/BackupPhoto
Файлы архивируются из каталога /mnt/HD/HD_a2/yandex1/Фотокамера/ в каталог /mnt/HD/HD_a2/BackupPhoto в случае если обнаружен измененный или удаленный файл он перемещается в каталог /mnt/HD/HD_a2/recycle/ГГГГ-ММ-ДД
Далее на любой вкус.(
http://www.opennet.ru/man.shtml?topic=rsync)
Мой скрипт webdav.sh(исполняемый файл /mnt/HD/HD_a2/webdav.sh в UTF-8)
Код:
#!/bin/sh
while true
do
DAY=`date +%Y-%m-%d`
/opt/sbin/mount.davfs https://webdav.yandex.ru /mnt/HD/HD_a2/yandex1
rsync --force --ignore-errors --delete --backup --backup-dir=/mnt/HD/HD_a2/recycle1/$DAY -av /mnt/HD/HD_a2/yandex1/Фотокамера/ /mnt/HD/HD_a2/BackupPhoto1
/opt/sbin/umount.davfs /mnt/HD/HD_a2/yandex1
/opt/sbin/mount.davfs https://webdav.yandex.ru /mnt/HD/HD_a2/yandex2
rsync --force --ignore-errors --delete --backup --backup-dir=/mnt/HD/HD_a2/recycle2/$DAY -av /mnt/HD/HD_a2/yandex2/Фотокамера/ /mnt/HD/HD_a2/BackupPhoto2
/opt/sbin/umount.davfs /mnt/HD/HD_a2/yandex2
/opt/sbin/mount.davfs https://webdav.yandex.ru /mnt/HD/HD_a2/yandex3
rsync --force --ignore-errors --delete --backup --backup-dir=/mnt/HD/HD_a2/recycle3/$DAY -av /mnt/HD/HD_a2/yandex3/Фотокамера/ /mnt/HD/HD_a2/BackupPhoto3
/opt/sbin/umount.davfs /mnt/HD/HD_a2/yandex3
dt=`date +'%b %e %T'`
lg="WebDAV Yandex sync completed."
echo "$dt NAS fan_control: $lg" >> /var/log/user.log
sleep 300
done
Прописываем его в конец fun_plug
Код:
chmod +x /mnt/HD/HD_a2/webdav.sh
/mnt/HD/HD_a2/webdav.sh &