Знакомство с предустановленными сервисами
Несмотря на то, что установленный Tiny Core Linux представляет собой лишь ядро и консольную оболочку Busy Box, в нашем дистрибутиве уже есть некоторые предустановленные сервисы и программы с которыми нам предстоит иметь дело в дальнейшем. К примеру, в процессе загрузки TCL запускается предустановленный DHCP-клиент. Его задача - получить IP-адрес для сетевой карты от DHCP-сервера, если таковой присутствует в сети.
Монтирование дисков. В Linux-подобных системах существует такое понятие как монтирование дисков. Этот процесс, с большим
упрощением можно сравнить с чтением информации с CD-диска. Сам дисковод информации в себе не несёт. Чтобы прочесть содержимое
носителя - необходимо вставить этот самый диск. Смонтировать. В нашей же системе роль таких приводов выполняют обычные директории
в папке /mnt/. Зная названия устройств самих носителей (HDD, CD/DVD-ROM, USB-flash) мы можем монтировать их к нашим папкам,
а затем работать с их содержимым как с содержимым обычной директории. Названия устройств можно узнать из папки /dev/,
однако Tiny Core Linux уже позаботился об этом и создал для нас готовые директории-шаблоны с одноименными названиями наших накопителей.
К примеру sr0 - это устройство чтения лазерных дисков. Если их у вас несколько, то и папок будет больше. sr0, sr1, sr2
и так далее. Зачастую названия созданых по умолчанию папок малоинформативно. Поэтому мы создадим свои директории, и будем монтировать
диски самостоятельно.
Создаем папку /mnt/HDD:
mkdir /mnt/HDD
Я разрешил запись-чтение всем пользователям для этой папки, но вы можете варьировать уровень прав доступа к содержимому папки исходя из своих собственных потребностей:
sudo chmod 666 /mnt/HDD
Далее монтируем жесткий диск командой mount. У меня в системе он определился под именем sda1, поэтому для моего случая команда монтирования будет выглядеть так:
sudo mount -o rw /dev/sda1 /mnt/HDD
Всё что мы делаем, это монтируем устройство /dev/sda1 (наш физический жесткий диск) в папку /mnt/HDD. После этого в директории HDD будет отображаться содержимое жесткого диска. Символ -o определяет дополнительные опции монтирования. В моём случае я разрешил пользователям как чтение так и запись содержимого нашего диска.
Tiny Core Linux 7 умеет работать с также и с NTFS-дисками. Единственное что для этого необходимо - указать явно тип файловой системы параметром -t:
mount -t ntfs /dev/sda1 /mnt/HDD
Мы можем без проблем смонтировать RAM-диск. TCL, как и все Linux-подобные ОС умеет это делать прямо "из коробки":
mkdir -m 777 -p /mnt/RAM
tc@BOX:~$ mount -t tmpfs -o size=512M tmpfs /mnt/RAM
Я опцонально задал размер RAM диска параметром "size=512M", однако когда всё доступное пространство будет исчерпано, система сама увеличит объем диска, при наличии свободной оперативной памяти. RAM-диски идеальны для хранения временных файлов, к которым идет частое обращение на чтение-запись. Примером могут быть файлы PHP-сессий или кеш прокси-сервера.
Более того, монтировать можно и другие ресурсы. В том числе и сетевые. Для этого необходимо установить утилиту работы с дисками формата cifs.
tce-load -wi cifs-utils.tcz
После этого команда монтирования сетевых дисков будет иметь вид:
mount -t cifs -o iocharset=utf8,user=[имя удаленного пользователя] //[сетевой адрес]/[сетевая папка] /mnt/NET
Параметр iocharset=utf8 заставляет систему использовать юникод, и избавляет от проблемы неверного отображения кириллицы в именах файлов.
Теперь осталось добавить команды монтирования нашего жесткого диска в автозагрузку:
/opt/bootlocal.sh
...
mkdir /mnt/HDD
sudo chmod 666 /mnt/HDD
sudo mount -o rw /dev/sda1 /mnt/HDD
...
И сделать бэкап:
sudo filetool.sh -b
Планировщик задач - CRON. Ещё одна полезная утилита, которая позволяет выполнять shell-скрипты по расписанию - cron. По умолчанию он не запущен. Запускаем его:
sudo crond
И тут же добавим команду в скрипт автозапуска:
/opt/bootlocal.sh
...
sudo crond
...
Для удобства настройки я создал директорию /opt/cron/ куда поместил пока пустые shell-скрипты daily.sh и watchdog.sh. Первый мы настроим на выполнение каждые сутки, и будем записывать туда команды, которые хотим выполнять ежесуточно. Второй - сторожевой таймер. Этот скрипт будет выполняться ежеминутно, и будет мониторить состояние служб на предмет "зависания", а также проверять наличие подключения к сети. В будущем это будет необходимо для резервирования канала на нашем мультисервере.
Теперь необходимо добавить эти задания в наш планировщик. Для этого откроем журнал расписаний cron в режиме редактирования:
sudo crontab -e
Редактирование происходит во встроеном текстовом тедакторе vi, алгоритм работы которого для новичка, мягко говоря не очень понятен. К сожалению корректное редактирование списка задач возмозно только посредством vi. У этого редактора есть два режима - редактирование и управление. Чтобы перейти в режим редактирования необходимо нажать i на клавиатуре. Далее добавляем такие строки:
* * * * * /opt/cron/watchdog.sh
0 0 * * * /opt/cron/daily.sh
и жмем Esc. Выходим из режима редактирования, сохраняем нажатием комбинации ZZ. Вот такой странный редактор.
Пару слов о том, что же мы записали. А записали мы наши два расписания в cron-формате. Он состоит из 6-ти цифровых значений и одного строкового.
Цифровые значения в порядке слева направо означают минуту, час, день, месяц и день недели выполнения задания. Символ "*" означет любую цифру.
Поэтому первая строчка гласит:
"выполнять скрипт /opt/cron/watchdog.sh каждую минуту каждого часа, каждый день и каждый месяц".
т.е. ежеминутно. Следующая строка содержит задание на выполнение скрипта /opt/cron/daily.sh каждые 0 минут 0 часов во все дни и месяца.
Таким образом указанный скрипт будет запускаться ежедневно в полночь (00:00).
Теперь осталось внести наши списки заданий в бэкап-лист
/opt/.filetool.lst
...
var/spool/cron
...
и сохранить настройки:
sudo filetool.sh -b
ранее: "Удаленное администрирование"далее: "Файловый сервер SAMBA"Оставить комментарий