Текст задания (из LMS)
Создайте папку со своим именем в на сервере linux.itcareerhub.de. В папке с Вашим именем создайте скрипт task_NAME.sh, где NAME — Ваше имя.
- Скрипт должен создавать по 10 файлов с порядковым номером и датой создания.
1_20.04.23,2_20.04.23,3_20.04.23..10_20.04.23 - Создайте в планировщике новое задание, которое должно будет запускать Ваш скрипт каждые 15 минут.
- Создайте архив с файлами из п.1, добавьте в него историю команд, которую вы выполнили.
- Закомментируйте строку с заданием в планировщике (добавьте # в начало строки с вашим заданием), чтобы выключить задание, но оставить его «в быстром доступе».
Что пригодится: date +"%d.%m.%y", touch, export EDITOR=nano, crontab -l, crontab -e, Crontab.guru
Однострочник, создающий простейший скрипт в /tmp: echo -e `#!/bin/bash\n date\n echo "it works!"` > /tmp/script.sh
Подготовка окружения
Подключение к серверу
# Подключиться к серверу linux.itcareerhub.de (данные для подключения — у куратора)
ssh user@linux.itcareerhub.de
Создание рабочей директории
# Создать папку со своим именем (замените NAME на ваше имя)
mkdir -p /home/NAME
cd /home/NAME
Установить предпочтительный редактор
# Если хотите использовать nano вместо vi при crontab -e:
export EDITOR=nano
Пошаговое решение
Шаг 1. Создать скрипт task_NAME.sh
Создайте файл скрипта (замените NAME на ваше имя):
# /home/NAME/task_NAME.sh
#!/bin/bash
# Скрипт создаёт 10 файлов с порядковым номером и датой
DATE=$(date +"%d.%m.%y")
for i in {1..10}
do
touch "${i}_${DATE}"
done
echo "Created 10 files with date: $DATE"
Сохраните скрипт и сделайте его исполняемым:
chmod +x /home/NAME/task_NAME.sh
Шаг 2. Проверить работу скрипта
cd /home/NAME
bash task_NAME.sh
ls -la
Вы должны увидеть файлы: 1_20.04.23, 2_20.04.23, ..., 10_20.04.23
Шаг 3. Добавить задание в crontab (каждые 15 минут)
crontab -e
В редакторе добавить строку:
*/15 * * * * /home/NAME/task_NAME.sh >> /home/NAME/task.log 2>&1
Сохранить и выйти. Проверить задание:
crontab -l
Шаг 4. Создать архив с файлами и историей команд
Сначала сохраняем историю команд:
history > /home/NAME/history.txt
Создаём архив (из папки /home/NAME):
cd /home/NAME
tar -czf archive.tar.gz *.*
Проверяем содержимое архива:
tar -tf archive.tar.gz
Шаг 5. Закомментировать задание в crontab
crontab -e
Найти строку с заданием и добавить # в начало:
# */15 * * * * /home/NAME/task_NAME.sh >> /home/NAME/task.log 2>&1
Закомментированное задание не выполняется, но остаётся «в быстром доступе» — его легко раскомментировать.
Шаг 6. Отправить ответ
Загрузите скрипт на GitHub и пришлите ссылку куратору, или отправьте непосредственно содержимое скрипта.