Сообщений: 110
Темы: 35
У нас с: Jun 2016
Рейтинг:
0
30-12-2014, 16:45
(Последний раз сообщение было отредактировано 14-12-2016, 10:04 пользователем EleKrivo.)
1. Инструкция по созданию дампа (резервной копии)
https://yadi.sk/i/9xWTLGGDdNvV3
2. Инструкция по разворачиванию дампа
https://yadi.sk/i/RWE5N1HXqGFec
Сообщений: 110
Темы: 35
У нас с: Jun 2016
Рейтинг:
0
31-12-2014, 12:27
(Последний раз сообщение было отредактировано 14-12-2016, 10:03 пользователем EleKrivo.)
1. Инструкция по первоначальной установке АСИОУ под Windows
https://yadi.sk/i/fAEAd0bueBTsC
2. Инструкция по переустановке АСИОУ на другой компьютер.
https://yadi.sk/i/POQAO71ljKJx3
3. Обеспечение сетевого доступа для работы с АСИОУ 7
https://yadi.sk/i/NuvIPnGgdNvUe
Сообщений: 110
Темы: 35
У нас с: Jun 2016
Рейтинг:
0
31-12-2014, 12:32
(Последний раз сообщение было отредактировано 07-12-2020, 09:03 пользователем EleKrivo.)
1. Инструкция по созданию файла выгрузки на вышестоящий уровень
https://yadi.sk/i/RdJi2ciHdNvUv
2. Инструкция по созданию отчета «Отчет о результатах самообследования образовательных учреждений»
https://yadi.sk/i/UXEPnEJkdi3eB
Сообщений: 110
Темы: 35
У нас с: Jun 2016
Рейтинг:
0
06-04-2015, 10:52
(Последний раз сообщение было отредактировано 07-12-2020, 09:04 пользователем EleKrivo.)
1. Инструкция по слиянию баз АСИОУ в случае реорганизации
https://yadi.sk/i/D8jIXOpgfPMba
2. Подключение организации к Региональному Интернет-дневнику (РИД)
https://yadi.sk/i/keK189jGfy23S
3. Инструкция для родителей по работе с Региональным интернет-дневником (РИД)
https://yadi.sk/i/umaIApy0fy23t
Сообщений: 110
Темы: 35
У нас с: Jun 2016
Рейтинг:
0
01-09-2015, 15:28
(Последний раз сообщение было отредактировано 07-12-2020, 09:05 пользователем EleKrivo.)
• Формирование отчетов «Информация о результатах профессиональной деятельности» педагогических работников организации (инструкция для руководителя)
https://yadi.sk/i/WZg4pdiniC95t
• Инструкция для педагогических работников по работе с Региональным интернет-дневником (РИД)
https://yadi.sk/i/_vlAcdCXiC9PQ
• Инструкция по работе с Региональным интернет-дневником (РИД) для специалиста по анализу профессиональной деятельности педагогических работников
https://yadi.sk/i/-mbYnBoNiRbhG
Сообщений: 110
Темы: 35
У нас с: Jun 2016
Рейтинг:
0
13-11-2015, 15:05
(Последний раз сообщение было отредактировано 14-12-2016, 10:01 пользователем EleKrivo.)
Ввод сведений в АСИОУ об участии обучающихся в мероприятии и о педагогах, которые их подготовили https://yadi.sk/i/JIJ0LKRDkS5mZ
Презентация «Ввод данных и получение отчетов результатов сдачи федеральных норм комплекса ГТО»
https://yadi.sk/i/rXLqvbU-qorak
Сообщений: 110
Темы: 35
У нас с: Jun 2016
Рейтинг:
0
20-11-2017, 09:03
(Последний раз сообщение было отредактировано 20-11-2017, 09:04 пользователем EleKrivo.)
Новые инструкции для настройки автоматической выгрузки в РИД:
в формате Word https://yadi.sk/i/dn6rFiMV3PqvkY
в формате pdf https://yadi.sk/i/I9r23fLT3Pqvkk
Сообщений: 110
Темы: 35
У нас с: Jun 2016
Рейтинг:
0
Инструкция
«Работа по подготовке и передаче данных в ЕГИССО (в общеобразовательных организациях и организациях профессионального образования)»
https://yadi.sk/i/KVG3OR3QQ2m30Q
Инструкции по созданию отчетов, файлов выгрузки, дампа и т.д. — EleKrivo — 30-12-2014
1. Инструкция по созданию дампа (резервной копии)
https://yadi.sk/i/9xWTLGGDdNvV3
2. Инструкция по разворачиванию дампа
https://yadi.sk/i/RWE5N1HXqGFec
Инструкции по созданию отчетов, файлов выгрузки, дампа и т.д. — EleKrivo — 31-12-2014
1. Инструкция по первоначальной установке АСИОУ под Windows
https://yadi.sk/i/fAEAd0bueBTsC
2. Инструкция по переустановке АСИОУ на другой компьютер.
https://yadi.sk/i/POQAO71ljKJx3
3. Обеспечение сетевого доступа для работы с АСИОУ 7
https://yadi.sk/i/NuvIPnGgdNvUe
Инструкции по созданию отчетов, файлов выгрузки, дампа и т.д. — EleKrivo — 31-12-2014
1. Инструкция по созданию файла выгрузки на вышестоящий уровень
https://yadi.sk/i/RdJi2ciHdNvUv
2. Инструкция по созданию отчета «Отчет о результатах самообследования образовательных учреждений»
https://yadi.sk/i/UXEPnEJkdi3eB
Инструкции по созданию отчетов, файлов выгрузки, дампа и т.д. — EleKrivo — 06-04-2015
1. Инструкция по слиянию баз АСИОУ в случае реорганизации
https://yadi.sk/i/D8jIXOpgfPMba
2. Подключение организации к Региональному Интернет-дневнику (РИД)
https://yadi.sk/i/keK189jGfy23S
3. Инструкция для родителей по работе с Региональным интернет-дневником (РИД)
https://yadi.sk/i/umaIApy0fy23t
Инструкции по созданию отчетов, файлов выгрузки, дампа и т.д. — EleKrivo — 01-09-2015
• Формирование отчетов «Информация о результатах профессиональной деятельности» педагогических работников организации (инструкция для руководителя)
https://yadi.sk/i/WZg4pdiniC95t
• Инструкция для педагогических работников по работе с Региональным интернет-дневником (РИД)
https://yadi.sk/i/_vlAcdCXiC9PQ
• Инструкция по работе с Региональным интернет-дневником (РИД) для специалиста по анализу профессиональной деятельности педагогических работников
https://yadi.sk/i/-mbYnBoNiRbhG
Инструкции по созданию отчетов, файлов выгрузки, дампа и т.д. — EleKrivo — 13-11-2015
Ввод сведений в АСИОУ об участии обучающихся в мероприятии и о педагогах, которые их подготовили https://yadi.sk/i/JIJ0LKRDkS5mZ
Презентация «Ввод данных и получение отчетов результатов сдачи федеральных норм комплекса ГТО»
https://yadi.sk/i/rXLqvbU-qorak
Инструкции по созданию отчетов, файлов выгрузки, дампа и т.д. — EleKrivo — 20-11-2017
Новые инструкции для настройки автоматической выгрузки в РИД:
в формате Word https://yadi.sk/i/dn6rFiMV3PqvkY
в формате pdf https://yadi.sk/i/I9r23fLT3Pqvkk
RE: Инструкции по созданию отчетов, файлов выгрузки, дампа и т.д. — EleKrivo — 12-11-2018
Инструкция
«Работа по подготовке и передаче данных в ЕГИССО (в общеобразовательных организациях и организациях профессионального образования)»
https://yadi.sk/i/KVG3OR3QQ2m30Q
Предложите, как улучшить Pubdoc
(Для жалоб на нарушения авторских прав, используйте
другую форму
)
Ваш е-мэйл
Заполните, если хотите получить ответ
Оцените наш проект
1
2
3
4
5
Это переработанная инструкция, которая была к версии 7.0 (спасибо создателям, поскольку больше под линукс инструкций не было). Была благополучно извлечена из запасников и переработана немного.
Базовая система
Используется Linux Ubuntu. Первый раз ставилась на Ubuntu Server 11.10, потом на 13.04
Установку проводим под пользователем root, либо через su, либо можно запустить shell рута командой sudo –i
Система должна иметь доступ в Интернет для установки пакетов (по умолчанию настройки без использования прокси-сервера)
Установка и настройка системных компонентов
Установка
Установка утилиты для управления запуском и остановом фоновых сервисов:
apt-get install sysvinit-utils
Установка языка программирования Python:
apt-get install python2.6 python-setuptools
python 2.6 является устаревшим, имеет смысл поставить версию посвежее, например 3, хотя с ней не пробовал — работает сейчас все на 2.7
Установка фреймворка Django, библиотеки TreeBeard и XLWT. Асиоу ориентирована на старую версию django (1.3.1 работает), и с новыми может не работать (с 1.6.1 не работает точно на данный момент). Вот так выглядит ошибка запуска:
root@server:/home/asiou/www# /usr/loacl/sbin/django_fcgi start asiou
bash: /usr/loacl/sbin/django_fcgi: Нет такого файла или каталога
root@server:/home/asiou/www# /usr/local/sbin/django_fcgi start asiou
Start FastCGI server for ‘asiou’: Traceback (most recent call last):
File «/home/asiou/www/asiou/manage.py», line 2, in <module>
from django.core.management import execute_manager
ImportError: cannot import name execute_manager
FAIL
А все потому, что execute_manager является устаревшим.
easy_install Django-1.3.1.tar.gz
ставим дополнительные компоненты:
easy_install django-treebeard xlwt
Установка библиотеки MySQLdb для подключения к СУБД MySQL из языка Python:
apt-get install python-mysqldb
Установка библиотеки flup реализующей протокол FastCGI для Django:
apt-get install python-flup
Установка библиотеки pylzma для работы с архивами:
apt-get install python-lzma
Бывает, что несмотря на то, что библиотека вроде установлена – система ругается на отсутствие модуля py7zlib. Можно установить
через easy_install, но предварительно надо поставить python-dev:
apt-get install python-dev
easy_install pylzma
apt-get install mysql-common mysql-client mysql-server
service mysql start
при установке будет предложено выбрать и ввести пароль пользователя root для mysql (это не системный root!)
Установка веб-сервера nginx:
Настройка
Описывается только настройка того ПО для которого она требуется. Нам потребуется настроить MySQL и nginx.
Настройка MySQL
Для настройки MySQL необходимо открыть в любом текстовом редакторе файл /etc/mysq/my.cnf и в блок [mysqld] добавить следующие опции:
[Дополнительные опции]
default-storage-engine=InnoDB
bind-address=127.0.0.1
Данные настройки включают использование в MySQL хранилища InnoDB по умолчанию, как наиболее надежного и возможность подключаться к серверу БД только с локальной машины для большей безопасности (напрямую с сервером БД будет работать только АСИОУ).
Теперь необходимо изменить пароль для привилегированного пользователя root (можно не делать) и создать нового пользователя asiou для подключения к СУБД MySQL и собственно саму базу данных. Делается это следующими командами (NEWPASSWORD — это ваш новый пароль для суперпользователя СУБД root, запишите или запомните его!!!):
mysqladmin -u root password NEWPASSWORD
mysql -u root -p
Password:
mysql> CREATE USER ‘asiou’@’localhost’ IDENTIFIED BY ‘PASSWORD’;
mysql> GRANT ALL PRIVILEGES ON asiou.* TO ‘asiou’@’localhost’;
mysql> CREATE DATABASE IF NOT EXISTS asiou CHARACTER SET utf8;
PASSWORD — это ваш пароль для пользователя MySQL asiou, запомните или запишите его, он будет использоваться при установке АСИОУ!
Настройка nginx
В каталоге /etc/nginx создайте файл fastcgi_params_django следующего содержания:
[содержимое файла]
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
# PHP only, required if PHP was built with —enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
Делаем его исполнимым:
chmod +x /etc/nginx/fastcgi_params_djang
В каталоге /etc/nginx/sites-available создайте файл asiou следующего содержания:
[Содержимое файла]
# Виртуальный хост для АСИОУ
server {
listen 80;
server_name asiou.local;
location / {
fastcgi_pass unix:/var/tmp/django-fcgi-asiou.sock;
include fastcgi_params_django;
}
location /static {
root /home/asiou/www;
}
location /media {
alias /usr/local/lib/python2.6/dist-packages/d
}
}
В строчке
alias /usr/local/lib/python2.6/dist-packages/d
убедитесь, что это путь к вашему python. Версия 2.6. является устаревшей, возможно была установлена более новая (например, 3) и путь изменился.
Опция server_name может содержать список доменных имен или IP адресов разделенных пробелом. Если в вашей сети используется система DNS, то вы можете указать здесь доменное имя, если нет, то необходимо указать IP адрес сервера в локальной сети.
АСИОУ будет доступно либо по адресу http://<ваше_доменное_имя>, либо по http://<IP_адрес_сервера>
После этого необходимо выполнить следующие команды для применения конфигурации и запуска nginx:
переходим в каталог /etc/nginx/sites-enabled:
cd /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/asiou asiou
service nginx start
системные компоненты установлены.
Установка и настройка АСИОУ
Настройка и запуск программного комплекса АСИОУ 7.0
Создадим пользователя asiou в системе и зададим ему пароль, а так же создадим необходимые каталоги. Это пользователь от имени которого будет работать программный комплекс АСИОУ 7.0 в операционной системе.
useradd -d /home/asiou -m asiou
passwd asiou
passwd: пароль успешно обновлён
mkdir /home/asiou/logs
mkdir /home/asiou/www
chown asiou:asiou /home/asiou/logs /home/asiou/www
usermod -G asiou www-data
Для работы АСИОУ 7.0, требуется запуск FastCGI сервера через библиотеку flup, которую мы устанавливали ранее. Протокол FastCGI является связующим звеном между программным комплексом АСИОУ 7.0 и веб-сервером nginx.
Для запуска сервера нам потребуется специально оформленный shell-скрипт. Содержимое необходимо сохранить в файл /usr/local/sbin/django_fcgi
[Содержимое файла]
#!/bin/bash
########################################
# Script for automate runnong FastCGI servers
# for any Django project.
# Author: Sergey V. Sokolov <sokol@zavolga.net>
# Config: /etc/djfcgi.conf
########################################
# Vars
CONFIG=»/etc/djfcgi.conf»
# Check config
if [ ! -f «$CONFIG» ]; then
echo «Cconfig file ‘$CONFIG’ not found!»
exit 1
fi
# Include config
. $CONFIG
if [ «$PROJECTS» = «» ]; then
echo «No configured projects!»
exit 1
fi
# For all projects
for proj in $PROJECTS; do
if [ «$2» != «» -a «$2» != «$proj» ]; then
continue;
fi
path=$(eval «echo \$${proj}_path»);
user=$(eval «echo \$${proj}_user»);
if [ «$path» = «» ]; then
echo «Empty path for project ‘$proj’!»
exit 1
fi
if [ ! -d «$path» ]; then
echo «Not directory ‘$path’!»
exit 1
fi
if [ ! -f «$path/manage.py» ]; then
echo «It not Django project ‘$path’!»
exit 1
fi
# Set variables
pid=»$PID_DIR/$proj.pid»
socket=»$SOCKET_DIR/django-fcgi-$proj.so
maxrequests=$(eval «echo \$${proj}_maxrequests»);
maxrequests=${maxrequests:-$D_MAX_REQUES
minspare=$(eval «echo \$${proj}_minspare»);
minspare=${minspare:-$D_MIN_SPARE}
maxspare=$(eval «echo \$${proj}_maxspare»);
maxspare=${maxspare:-$D_MAX_SPARE}
maxchildren=$(eval «echo \$${proj}_maxchildren»);
maxchildren=${maxchildren:-$D_MAX_CHILD}
debug=$(eval «echo \$${proj}_debug»);
debug=${debug:-$D_DEBUG}
outlog=$(eval «echo \$${proj}_outlog»);
outlog=${outlog}
errlog=$(eval «echo \$${proj}_errlog»);
errlog=${errlog}
# Start or stop
if [ «$1» = «start» ]; then
echo -n «Start FastCGI server for ‘$proj’: »
# Generate command
CMD=»$PYTHON $path/manage.py runfcgi workdir=’$path’ socket=’$socket’ pidfile=’$pid’ debug=$debug»
CMD=»$CMD maxrequests=$maxrequests minspare=$minspare maxspare=$maxspare maxchildren=$maxchildren»
if [ «$outlog» != «» ]; then
CMD=»$CMD outlog=’$outlog'»
fi
if [ «$errlog» != «» ]; then
CMD=»$CMD errlog=’$errlog'»
fi
# Run
su —command=»$CMD» «$user»
if [ «$?» = «0» ]; then
sleep 1
chmod 666 $socket
echo «OK»
else
echo «FAIL»
fi
elif [ «$1» = «stop» ]; then
echo -n «Stop FastCGI server for ‘$proj’: «
if [ -f «$pid» ]; then
kill `cat $pid`
sleep 3
if [ «$?» = «0» ]; then
rm $socket >/dev/null 2>&1
rm $pid >/dev/null 2>&1
echo «OK»
else
echo «FAIL»
fi
else
echo «NOT RUNNING»
fi
else
echo «Usage: $0 (start|stop) [<project>]»
exit 1
fi
done
exit 0
Делаем его исполнимым:
chmod +x /usr/local/sbin/django_fcgi
Далее необходимо создать служебный каталог и назначить для него права на запись:
mkdir /var/run/django-fcgi
chmod 777 /var/run/django-fcgi
Для работы скрипта описанного выше необходимо создать конфигурационный файл /etc/djfcgi.conf следующего содержания:
[Содержимое файла]
# Config file for django FastCGI server
# Common vars
PYTHON=»python»
PID_DIR=»/var/run/django-fcgi»
SOCKET_DIR=»/var/tmp»
# Default values
D_MAX_REQUESTS=0
D_MIN_SPARE=3
D_MAX_SPARE=5
D_MAX_CHILD=10
D_DEBUG=false
# Project names
PROJECTS=»asiou»
# Project asiou
asiou_path=»/home/asiou/www/asiou»
asiou_user=»asiou»
asiou_maxchildren=25
asiou_debug=true
asiou_outlog=»/home/asiou/logs/asiou.out
asiou_errlog=»/home/asiou/logs/asiou.err
Распаковка архива с программным комплексом АСИОУ 7.0.
Архив asiou-7.0.tar.gz необходимо распаковать в каталог /home/asiou/www следующей командой (предполагается что архив находится в текущем каталоге):
tar zxvf asiou-7.0.tar.gz -C /home/asiou/www
chown -R asiou:asiou /home/asiou/www
chmod 777 /home/asiou/www/temp
Следует обратить внимание, что на данном этапе потребуется пароль пользователя MySQL asiou, который был указан на предыдущих этапах.
Если файл db.ini отсутствует в /home/asiou/www/asiou, создаем со следующим содержимым:
[Содержимое файла]
[database]
DATABASE_ENGINE: django.db.backends.mysql
DATABASE_HOST: localhost
DATABASE_NAME: asiou
DATABASE_USER: asiou
DATABASE_PASSWORD:asiou
DATABASE_PORT:
Указывая своего пользователя к базе данных и его пароль
Файл db.version в том же каталоге должен задержать версию текущей базы данных.
Далее необходимо инициализировать базу данных и заполнить ее начальными значениями
Инициализация базы данных
Переходим в каталог /home/asiou/www/asiou и создаем чистую базу данных:
python manage.py initdb — -line-by-line
переходим в каталог /home/asiou/www и запускаем подключение к mysql:
mysql -u root -p
(после этого вводится ПАРОЛЬ для доступа к MySQL, как правило, если не придумывали оригинальный свой, это root)
use asiou;
set names utf8;
\. sql/kladr.sql
В командной строке выполнить команды:
cd /home/asiou/www/asiou
python manage.py updatedb — -line-by-line
Инициализацию данных по учреждению необходимо выполнить обязательно.
Иначе при попытке запуска АСИОУ будет выдана ошибка
Инициализация данных по учреждению выполняется в процессе конвертации данных из csv-файлов (которые получены экспортом из 6 версии и располагаются в папке CONV) с помощью команды convert.
cd /home/asiou/www/asiou
python manage.py convert
или залив уже сконвертированный дамп базы.
После этого можно запустить ПО АСИОУ 7.0, создать административного пользователя АСИОУ и выполнить первый вход в систему. Для этого выполним команду запуска сервера АСИОУ:
django_fcgi start asiou
Start FastCGI server for ‘asiou’: OK
Для автоматического запуска АСИОУ при старте сервера прописываем в файле /etc/rc.local
[Содержимое файла]
sleep 10
mkdir /var/run/django-fcgi
chmod 777 /var/run/django-fcgi
/usr/local/sbin/django_fcgi start asiou
Exit 0
Дело в том, что каталог /var/run каждый раз очищается при загрузке системы, поэтому создаем при загрузке в нем django-fcgi
Вход в АСИОУ 7.0
После запуска можно открыть браузер (Firefox, Opera, Chrome или Internet Explorer) и набрать в адресной строке адрес http://asiou.local. Именно это имя было указано в настройках nginx. Если у вас отсутствует имя сервера или система DNS, то можно зайти в систему используя IP-адрес, например если адрес компьютера на котором установлено ПО АСИОУ 7.0 192.168.1.10, то заходить следует по адресу http://192.168.1.10. При этом если компьютер находится в локальной сети, то по данному адресу можно войти в систему с любого комьютера!!!
Для остановки АСИОУ 7.0 необходимо выполнить команду:
django_fcgi stop asiou
Stop FastCGI server for ‘asiou’: OK
Для создания административного пользователя необходимо выполнить следующие команды:
cd /home/asiou/www/asiou/
python manage.py createsuperuser
Username: admin
E-mail address: admin@—.ru <— здесь нужно указать E-mail школы
Password:
Password (again):
Superuser created successfully.
После создания пользователя под ним можно войти как в административную часть по адресу http://asiou.local/admin, так и в основную систему по адресу указанному ранее.
Обновление до версии 7.2
Заходим в каталог с файлами sqlparse-0.1.6-py2.6.egg, odict-1.5.1-py2.6.egg
Выполняем команду
easy_install sqlparse-0.1.6-py2.6.egg
easy_install odict-1.5.1-py2.6.egg
Заходим в каталог xlwt-0.7.2, выполняем команду
python setup.py install
Таким же образом устанавливаем xlrd-0.9.2, xlutils-1.6.0, django-piston
Далее обновляем остальные компоненты:
cd /home/asiou/www/asiou
python manage.py user_profile
python manage.py update71
python manage.py re_sequence
Если при экспорте в интернет-дневник получаем ошибку:
Ошибка в формате XML-файла «expmark-Current.xml» : [Errno 13] Permission denied: ‘/home/asiou/www/temp/expmark-Current.xm
то необходимо выставить на каталог /home/asiou/www/temp/ права 777:
chmod -R 777 /home/asiou/www/temp/
Система готова к работе
В данной статье речь пойдёт о создании бэкапа и копировании его на флешку или на удалённый сервер при помощи утилиты rsync. Мне данный способ показался наиболее простым и, конечно же, рабочим.
Помимо текстовой статьи, также доступна видео инструкция по созданию резервных копий на флешку, если же вам больше по душе текст, просто пролистайте это видео.
Создание резервной копии и перемещение на флешку
В первую очередь, подключаем наше устройство к компьютеру через USB или через другой доступный интерфейс. Далее, при помощи fdisk с ключом -l, получаем список подключённых накопителей.
pi@hatest:~ $ sudo fdisk -l…. Device Boot Start End Sectors Size Id Type /dev/sda1 2048 4143103 4141056 2G b W95 FAT32 pi@hatest:~ $
Как видно из листинга, у нас подключено устройство объёмом 2Gb и отформатированное в Fat32, нам же нужен адрес раздела, в данном случае — это /dev/sda1, у вас буквы могут отличаться.
Далее, при помощи команды blkid, получаем уникальный идентификатор устройства (UUID), это нужно для того, чтобы в случае смены буквы диска, система его монтировала и копии создавались там, где это необходимо, а не на диске с вашими любимыми фото котят.
pi@hatest:~ $ sudo blkid /dev/sda1 /dev/sda1: UUID=»972B-3F23″ TYPE=»vfat» PARTUUID=»101ce48c-01″
Куда-нибудь записываем UUID, его нужно будет указать в fstab, речь об этом пойдёт чуть ниже.
Далее, при помощи команды mkdir, необходимо создать каталог, к которому будет монтироваться наше устройство. В случае, если Home Assistant установлен в Docker, необходимо, чтобы этот каталог был доступен из контейнера. Следовательно, создаём по адресу /usr/share/hassio/backup/
pi@hatest:~ $ sudo mkdir /usr/share/hassio/backup/remote
Далее необходимо внести изменения в fstab:
pi@hatest:~ $ sudo nano /etc/fstab
Добавляем в конце файла следующую строчку и последовательно нажимаем Ctrl O (записать), Ctrl X (выход).
#Опции монтирования накопителя UUID=972B-3F23 /usr/share/hassio/backup/remote vfat defaults,rw 0 0
Где:
UUID=972B-3F23 — идентификатор устройства, у вас он, естественно, будет другим. /usr/share/hassio/backup/remote — точка монтирования.vfat — тип файловой системы (для устройств, отформатированных в FAT, для NTFS будет ntfs-3g).defaults — использовать настройки по умолчанию, rw — разрешить чтение и запись, по идее, она не нужна, но мне так спокойней.0 — сообщаем о том, что данный раздел не должен быть включён в дамп.0 — сообщаем о том, что нет необходимости выполнять проверку раздела, также можно поставить значение равное 2.
Монтируем при помощи команды mount и опции -a, и на этом всё с хостом.
pi@hatest:~ $ sudo mount -a
Далее в Home Assistant нам понадобится дополнение SSH & Web Terminal от сообщества, так как оно имеет больше возможностей, в отличие от официального. Параметры его настройки есть в документации или в моём видео в начале статьи.
После установки, создаём файл backup.sh, расположенный по следующему пути: /config/scripts/, т.е. в итоге должно получиться:
/config/scripts/backup.sh
Вносим в него скрипт:
#!/bin/bash date=`date » %F»` echo $date STORE_DAYS=3 SRC=/backup/ DST=/backup/remote/ rsync -a \ —delete \ —remove-source-files \ —exclude ‘remote’ \ $SRC $DST/Processing-$date \ && cd $DST \ && mv Processing-$date $date \ && find. -type d -mtime $STORE_DAYS -exec rm -rf {} \; \ > /dev/null
Где:
#!/bin/bash — указываем используемый интерпретатор.date=`date » %F»` — создаём переменную вида 2020-09-20, вариант с часами и минутами date=`date » %Y-%m-%d-%H%M%S»`.STORE_DAYS=3 — сколько дней будем хранить резервные копии, можно изменить на свой вкус.SRC=/backup/ — директория, откуда выполняем копирование.DST=/backup/remote/ — директория, куда выполняем копирование.rsync -a \ — выполняем rsync для всех файлов.—delete \ — удаляем посторонние файлы в директории назначения.—remove-source-files \ — после копирования удаляем файлы в директории источнике, можете убрать. —exclude ‘remote’ \ — директории, которые исключаем, дабы не было рекурсии и мы не создавали копии сохранённых копий. $SRC $DST/Processing-$date \ — выполняем синхронизацию во временную директорию.&& cd $DST \ — переходим в директорию назначения.&& mv Processing-$date $date \ — переносим из временной директории в постоянную, также можно прочитать как переименование. && find. -type d -mtime $STORE_DAYS -exec rm -rf {} \; \ — командой find в директории назначения находим все каталоги старше заданного количества дней и удаляем.> /dev/null — перенаправляем вывод команд.
Вариант скрипта для копирования на удалённый сервер (Time Machine)
Также необходимо установленное дополнение SSH & Web Terminal, но сам скрипт несколько отличается, листинг и некоторые комментарии к нему будут приведены ниже, так как предполагается, что читатель, использующий данный метод, уже знаком с bash.
NB: Используется авторизация по ключу
Листинг скрипта
#!/bin/bash date=`date » %Y-%m-%d-%H%M%S»` STORE_DAYS=3 SRC=/backup/ DST=/backups/ha rsync -a \ —delete \ —fake-super \ —remove-source-files \ —link-dest=../Latest \ $SRC backup@your_ip:$DST/Processing-$date \ && ssh -T backup@your_ip \ «cd $DST \ && mv Processing-$date $date \ && rm -f Latest \ && ln -s $date Latest \ && find. -type d -mtime $STORE_DAYS -exec rm -rf {} \;»
В данном скрипте, после синхронизации с удалённым сервером, создаётся жёсткая ссылка Latest на последнюю резервную копию, таким образом, можно очень оперативно получить доступ к последней копии. Необходимо, чтобы удалённая файловая система поддерживала такие ссылки.
Пример автоматизации
Ниже приведён пример автоматизации созданной в GUI. Стоит обратить внимание на установленную задержку, это сделано для того, чтобы синхронизация не началась до того, как будет создан снапшот, так как создание занимает некоторое время.
— id: ‘1600711902170’ alias: Резервная копия на флешку description: » trigger: — platform: time at: 02:00:00 condition: [] action: — service: hassio.snapshot_full data_template: name: hassio_{} — delay: 00:01:00 — service: hassio.addon_stdin data: addon: a0d7b954_ssh input: bash /config/scripts/backup.sh mode: single
Доработка скрипта резервного копирования, от 14.10.20
