Урок 21 — Cron, crontab, tar
Подробный материал: Занятие 21: Cron, crontab, tar
Что такое tar
tar (Tape ARchive) — утилита архивации файлов и директорий. Сам по себе tar не сжимает — только упаковывает несколько файлов в один. Для сжатия используется флаг -z (gzip) или -j (bzip2).
Основные флаги tar
-c— создать архив (create)-x— извлечь из архива (extract)-r— добавить файлы в существующий архив-t— просмотреть содержимое архива-z— сжать/распаковать через gzip-v— вывод информации о процессе (verbose)-f— указать имя файла архива (всегда последним)
Примеры
# Создать архив из двух файлов
tar -cf archive.tar file1.txt file2.txt
# Создать сжатый архив директории
tar -czf archive.tar.gz directory/
# Извлечь архив
tar -xzf archive.tar.gz
# Просмотреть содержимое
tar -tf archive.tar.gz
Что такое cron
cron — демон-планировщик задач Unix (появился в конце 1970-х). Запускает команды по расписанию автоматически. Использует таблицы crontab, хранящиеся в /etc/crontab и /var/spool/cron.
Синтаксис расписания crontab
Расписание задаётся пятью полями, разделёнными пробелами:
# минуты часы день_месяца месяц день_недели команда
# 0-59 0-23 1-31 1-12 0-7 (0,7=вс)
*/15 * * * * /path/to/script.sh
Спецсимволы
*— любое значение1,2,5— список значений*/n— каждые n единиц (шаг)n-m— диапазон значений
Управление crontab
crontab -e # редактировать расписание
crontab -l # показать текущее расписание
crontab -r # удалить ВСЕ задания пользователя
crontab -u username -l # расписание другого пользователя
Полезный ресурс
crontab.guru — визуальный редактор выражений cron: вводите выражение, сразу видите читаемое расписание.
Урок 22 — Git fork в контексте PR
Подробный материал: Занятие 22: Git fork в контексте PR
Что такое git fork
Fork — копия удалённого репозитория, созданная в вашем аккаунте на GitHub/GitLab. Позволяет вносить изменения изолированно от оригинального проекта, а затем предлагать их через Pull Request. Связь с оригинальным репозиторием сохраняется.
Issue в GitHub
Issue — место для обсуждения и отслеживания задач/проблем. Категории: bug, enhancement, documentation. Содержит название, описание и метки. Можно связать с PR, упомянув номер: fixes #42.
Рабочий процесс Pull Request (6 шагов)
- Получить последнюю версию:
git pull - Создать ветку:
git checkout -b feature_x - Закоммитить:
git add <file>+git commit -m "message" - Запушить:
git push origin feature_x - Открыть PR через GitHub → New pull request (начинает обсуждение, code review)
- Рецензирование → rebase → тестирование → merge
Обновление форкнутого репозитория
Когда оригинальный репозиторий обновился, синхронизация через upstream:
git remote add upstream https://github.com/original-owner/repo.git
git fetch upstream
git checkout master
git merge upstream/master
git push origin master