+++
title = "Автоматизация обновления системы archlinux"
date = 2011-01-20
description = "Поскольку Оганер-сервис предоставляет самый дешевый доступ в интернет по будням с 4 ночи. то мы автоматизируем процесс обновления системы без участия пользователя (ну не сидеть же каждый день до 4 ночи :))"

[taxonomies]
tags = ["archlinux", "localnet", "selena", "norilsk", "cron"]

[extra]
quick_navigation_buttons = true
toc = false
mermaid = false
social_media_card = "social_cards/index.png"
+++

Поскольку Оганер-сервис предоставляет самый дешевый доступ в интернет по будням с 4 ночи. то мы автоматизируем процесс обновления системы без участия пользователя (ну не сидеть же каждый день до 4 ночи :)).

В роли нашего помощника выступит планировщик cron. Для начала напишем простой скрипт:

```bash
#! /bin/bash

## устанавливаем соединение
sudo sh /usr/local/bin/selena
## ждем 5 секунд
sleep 5
## запускаем процесс обновления, опция "--noconfirm" означает обновление без всяких подтверждений. Всё выводимое на экран сохраняется в файл /home/tenkoff/UPDATE-LOG.txt для того, чтобы знать, что где обновилось.
/usr/bin/yaourt -Suy --noconfirm >> /home/fantom/UPDATE-LOG.txt
## Разрываем соединение
sudo sh /usr/local/bin/selena
```

Скрипт запуска и остановки интернет соединения смотрите [здесь](https://blog.zlinux.ru/blog/on-off-internet/)

Сохраняем как `system_update.sh` и делаем его исполняемым (у себя для удобства я все свои скрипты сохраняю в /etc/cron.fantom/)

Теперь нужно заставить планировщик запускать наш скрипт в указанное время и дни. Открываем редактором файл /var/spool/cron/fantom (от которого будет запускаться скрипт) и вписываем строчку:

```bash
12 4 * * 1-5 /etc/cron.fantom/system_update.sh
```

Перезапускаем `cron`.
Таким образом скрипт будет запускаться с понедельника по пятницу в 04 часа 12 минут.
