# mkdir -p /var/adm/crons && touch /var/adm/crons/update && chmod +x /var/adm/crons/update
содержание скрипта (добавить):
# nano -b /var/adm/crons/update
или
# mcedit /var/adm/crons/update
#!/bin/sh
## каталог сохранения логов
logdir=/var/log/sysupdate
## если каталог существует то удалить в нем файлы логов за -mtime дней
if [ -d $logdir ]
then
cd $logdir
find . -mtime +7 -type f -name "*.log" -delete
else
mkdir -p $logdir
fi
## произвести обновление с записью в логфайл
echo -e "log-START_`date +%Y-%m-%d_%H-%M-%S`" >> "$logdir/apt-update_`date +%Y-%m-%d`.log"
(apt-get update && yes | apt-get dist-upgrade) >> "$logdir/apt-update_`date +%Y-%m-%d`.log"
echo -e "log-END_`date +%Y-%m-%d_%H-%M-%S`\n" >> "$logdir/apt-update_`date +%Y-%m-%d`.log"
Каталог с логами /var/log/sysupdate создается атоматически, ротация зависит от параметра (-mtime +7)
Добавить для правки crontab свой редактор по умолчанию командой:
- на время сессии export EDITOR=mcedit; crontab -e
- для постоянной работы добавить строчку export EDITOR="nano" в файл ~/.bashrc
(export EDITOR="mcedit" && echo -e "\nEDITOR=\"mcedit\"\nexport EDITOR" >> /root/.bashrc) -одной строкой добавить в .bashrc
- добавить задание запуска скрипта в планировщик crontab
задания находяться в каталоге /var/spool/cron (файл по имени пользователя 'root')
# crontab -l
#minute (0-59),
#| hour (0-23),
#| | day of the month (1-31),
#| | | month of the year (1-12),
#| | | | day of the week (0-6 with 0=Sunday).
#| | | | | commands
0 9,12,14 * * * /bin/bash /var/adm/crons/update
# обязательно в конце задания выполнить перевод строки (EOF)
- в данном случае выполнять задания ежедневно в 9,12,14 часов
(tail /var/log/sysupdate/* - просмотреть по 10 строк с конца каждого файла в каталоге ...sysupdate)
Сейчас я хоть и настраиваю системники так, но комментирую в crontab строчку "0 9,12,14 * ..."
Пару раз обжегся с xfreerdp теперь лучше ручной режим.
Но уже думаю доработать скрипт, к примеру добавить проверку маркера обновлений в базе данных или иным способом. Чтобы изменил значение маркера, и системники обновились. Естественно, проверив на тестовом отсутствие слетов по критическому функционалу.
Некоторые на p8 годами работают без обновлений. Если оно терминальный клиент или печатная машинка, зачем это обновлять так часто? Windows-блудство с обновлениями в Linux, как то не приживается.