Те админы кто не хочет рвать на себе волосы всегда настраивает архивирования всего более менее важного. Наверно Опытные админы архивируют всё подряд или уже полысели. Конечно жесткие диски нерезиновые и иногда стоимость содержания архивов очень высока. А может это только кажется, пока не потеряешь важные данные. Вот и у меня пропало немного волос на голове.
На хостинге пропали конфигурационные файлы Apache. Конечно пропало еще немного чего, но не столь важное, можно восстановить без потерь времени работаспособности сайтов. Пришлось взять себя в руки и настроить архивирование. Конечно у хостера можно купить место для архивирования, но решил действовать дешево и сердито. Решил настроить архивирование себе домой. Надеюсь что не пожалею о своем решении!
Решил использовать возможности своего роутера(маршрутизатора) ASUS RT-N56U. Иногда роутер глючит, но крайне редко. По моим подсчетом риск был приемлемый. Сейчас, после того как всё установил и настроил - немного расстроился, так как надежность решения ниже чем я расчитывал.
Прошивку роутера решил не менять, возможно зря и на сторонней прошивке всё заработает лучше. Потестирую немного и если меня не устроит попробую на других прошивках.
В админке включил доступ к ASUS RT-N56U по телнет. И обнаружил что ipkg не установлен и на видимом месте нет скрипта для его установки. Хорошо, решил попробовать какое-нибудь стандартное решение от asus. И установил Download Master(download tools). Установились разные программы, AiDisk(который не безопасный и я его выключил) и главное установились утилиты curl и ipkg. Тут стало полегче и я установил разного добра типа openssh и rsnapshot. SSH сервер пришлось отключить так как пока не смог его нормально заставить работать, непроходит авторизация не по паролю, не по ключам.
Поискал cron, не нашел! Решил установить ipkg install cron. Запустил crontab и получил:
You (admin) are not allowed to use this program (crontab)
See crontab(1) for more information
Стал искать решение в интернет, так и не нашел как заставить работать программу crontab! Пробовал всюду куда дотянулись руки впихать файл cron.allow разрешающий админу выполнять crontab. Не помогло, да и сейчас команда crontab не работает.
Но крон запусть всё таки смог.
Файл крона находиться по пути:
/var/spool/cron/crontabs/
Имя файла соответсвует имени пользователя - admin.
Само содержимое файла дублирует шапку из /opt/etc/crontab, плюс добавлены сами команды крона.
И крон заработал до перезагрузки. При перезагрузке файл крона пропал. Пришлось колдовать и исправлять скрипт /opt/etc/init.d/S10cron
Скрипт конечно не оптимальный, необходимо включить разные проверки на счет доступности диска. Вот его содержиммое:
#!/bin/sh
#
# Startup script for cron
#
# Stop myself if running
PIDFILE=/opt/var/run/cron.pid
cat /opt/etc/crontab > /var/spool/cron/crontabs/admin && \
echo "10 2 * * * rsnapshot daily" >> /var/spool/cron/crontabs/admin && \
echo "30 4 * * * rsnapshot weekly" >> /var/spool/cron/crontabs/admin
[ -f ${PIDFILE} ] && kill `cat ${PIDFILE}`
/opt/sbin/cron
PIDFILE_crond=/var/run/crond.pid
[ -f ${PIDFILE_crond} ] && kill `cat ${PIDFILE_crond}`
/usr/sbin/crond -l 0 -L /var/log/cron.log
Так вроде пока работает, но конечно стоит его вылезать. Потому как роутер стал глючить сильнее. Нет когда нормально загрузиться то работает нормально. Только вот нормально загружаться стал раза с третьего.