324 lines
No EOL
9.2 KiB
Groff
324 lines
No EOL
9.2 KiB
Groff
.\" Man-страница для snag
|
||
.\" Сгенерирована из документации Markdown
|
||
.TH SNAG 1 "30 мая 2025" "1.0" "Команды пользователя"
|
||
.SH НАЗВАНИЕ
|
||
snag \- утилита для создания, управления и восстановления снимков данных
|
||
.SH СИНТАКСИС
|
||
.B snag
|
||
[\fIфлаги\fR] [\fIопции\fR] \fIкоманда\fR
|
||
.SH ОПИСАНИЕ
|
||
.B snag
|
||
(snapshot git) — это утилита командной строки для создания, управления и восстановления снимков данных. Она позволяет импортировать, экспортировать, создавать и восстанавливать снимки, а также управлять правилами отслеживания файлов.
|
||
.SH ФЛАГИ
|
||
.TP
|
||
.BR \-h ", " \-\-help
|
||
Выводит справку.
|
||
.TP
|
||
.BR \-\-version
|
||
Выводит версию утилиты.
|
||
.SH ОПЦИИ
|
||
.TP
|
||
.BR \-c ", " \-\-config " <путь>"
|
||
Указывает путь к файлу конфигурации.
|
||
.SH КОМАНДЫ
|
||
.TP
|
||
.B init
|
||
Инициализация репозитория для хранения снимков.
|
||
.RS
|
||
.B snag init
|
||
[\-h] [\-f]
|
||
.TP
|
||
.BR \-f ", " \-\-force
|
||
Перезаписывает существующий репозиторий.
|
||
.RE
|
||
.TP
|
||
.B create
|
||
Создание нового снимка.
|
||
.RS
|
||
.B snag create
|
||
[\-h] [\-\-no\-pre] [\-\-no\-post] [\-c <комментарий>] [\-a <автор>] [\-e <email>]
|
||
.TP
|
||
.BR \-\-no\-pre
|
||
Выполнение без предкоманд.
|
||
.TP
|
||
.BR \-\-no\-post
|
||
Выполнение без посткоманд.
|
||
.TP
|
||
.BR \-c ", " \-\-comment " <значение>"
|
||
Указывает комментарий к снимку.
|
||
.TP
|
||
.BR \-a ", " \-\-author " <значение>"
|
||
Указывает автора снимка.
|
||
.TP
|
||
.BR \-e ", " \-\-email " <значение>"
|
||
Указывает email автора.
|
||
.RE
|
||
.TP
|
||
.B import
|
||
Импорт снимка из архива tar.gz.
|
||
.RS
|
||
.B snag import
|
||
[\-h] [\-\-no\-pre] [\-\-no\-post] [\-c <комментарий>] [\-a <автор>] [\-e <email>] <путь_к_архиву>
|
||
.TP
|
||
.BR \-\-no\-pre
|
||
Без выполнения предкоманд.
|
||
.TP
|
||
.BR \-\-no\-post
|
||
Без выполнения посткоманд.
|
||
.TP
|
||
.BR \-c ", " \-\-comment " <значение>"
|
||
Комментарий к снимку.
|
||
.TP
|
||
.BR \-a ", " \-\-author " <значение>"
|
||
Автор снимка.
|
||
.TP
|
||
.BR \-e ", " \-\-email " <значение>"
|
||
Email автора.
|
||
.TP
|
||
.BR <путь_к_архиву>
|
||
Путь к файлу tar.gz.
|
||
.RE
|
||
.TP
|
||
.B export
|
||
Экспорт снимка в архив tar.gz.
|
||
.RS
|
||
.B snag export
|
||
[\-h] [\-s <хэш_снимка>] <путь_к_папке>
|
||
.TP
|
||
.BR \-s ", " \-\-snapshot " <хэш>"
|
||
Указывает хэш снимка.
|
||
.TP
|
||
.BR <путь_к_папке>
|
||
Путь к папке для сохранения архива.
|
||
.RE
|
||
.TP
|
||
.B restore
|
||
Восстановление состояния из указанного снимка.
|
||
.RS
|
||
.B snag restore
|
||
[\-h] [\-\-no\-pre] [\-\-no\-post] <хэш_снимка>
|
||
.TP
|
||
.BR \-\-no\-pre
|
||
Без выполнения предкоманд.
|
||
.TP
|
||
.BR \-\-no\-post
|
||
Без выполнения посткоманд.
|
||
.TP
|
||
.BR <хэш_снимка>
|
||
Хэш восстанавливаемого снимка.
|
||
.RE
|
||
.TP
|
||
.B list
|
||
Вывод списка снимков.
|
||
.RS
|
||
.B snag list
|
||
[\-h] [\-c] [\-a] [\-e]
|
||
.TP
|
||
.BR \-c ", " \-\-comment
|
||
Показать комментарии к снимкам.
|
||
.TP
|
||
.BR \-a ", " \-\-author
|
||
Показать авторов снимков.
|
||
.TP
|
||
.BR \-e ", " \-\-email
|
||
Показать email авторов.
|
||
.RE
|
||
.TP
|
||
.B diff
|
||
Показ изменённых данных.
|
||
.RS
|
||
.B snag diff
|
||
.RE
|
||
.TP
|
||
.B status
|
||
Проверка статуса отслеживаемых файлов.
|
||
.RS
|
||
.B snag status
|
||
.RE
|
||
.TP
|
||
.B size
|
||
Отображение размера снимков.
|
||
.RS
|
||
.B snag size
|
||
.RE
|
||
.TP
|
||
.B rules
|
||
Управление правилами отслеживания.
|
||
.RS
|
||
.B snag rules
|
||
[\-h] save|show|update|reset|clear
|
||
.TP
|
||
.B save
|
||
Сохраняет правила.
|
||
.TP
|
||
.B show
|
||
Показывает правила.
|
||
.RS
|
||
.B snag rules show
|
||
[\-h] [\-c]
|
||
.TP
|
||
.BR \-c ", " \-\-config
|
||
Показать правила из файла конфигурации.
|
||
.RE
|
||
.TP
|
||
.B update
|
||
Обновляет правила.
|
||
.RS
|
||
.B snag rules update
|
||
[\-h] [\-r]
|
||
.TP
|
||
.BR \-r ", " \-\-remove
|
||
Удаляет игнорируемые файлы из отслеживания (требуется осторожность).
|
||
.RE
|
||
.TP
|
||
.B reset
|
||
Сбрасывает правила до состояния внесенных изменений.
|
||
.TP
|
||
.B clear
|
||
Очищает правила.
|
||
.RE
|
||
.SH ПРИМЕРЫ
|
||
.TP
|
||
Инициализация репозитория:
|
||
.RS
|
||
.B snag init
|
||
.RE
|
||
.TP
|
||
Создание снимка с комментарием:
|
||
.RS
|
||
.B snag create -c \(dqНачальный снимок\(dq -a \(dqИван Иванов\(dq -e \(dqivan@example.com\(dq
|
||
.RE
|
||
.TP
|
||
Импорт снимка из архива:
|
||
.RS
|
||
.B snag import archive.tar.gz
|
||
.RE
|
||
.TP
|
||
Экспорт снимка:
|
||
.RS
|
||
.B snag export -s abc123 /path/to/output
|
||
.RE
|
||
.TP
|
||
Восстановление снимка:
|
||
.RS
|
||
.B snag restore abc123
|
||
.RE
|
||
.TP
|
||
Просмотр списка снимков с комментариями:
|
||
.RS
|
||
.B snag list -c
|
||
.RE
|
||
.TP
|
||
Обновление правил отслеживания:
|
||
.RS
|
||
.B snag rules update
|
||
.RE
|
||
.SH КОНФИГУРАЦИЯ
|
||
.B snag
|
||
поддерживает настройку через конфигурационный файл в формате JSON, который задаётся с помощью опции
|
||
.B -c
|
||
или
|
||
.B --config.
|
||
Этот файл определяет параметры работы утилиты, включая пути, автора, команды для выполнения до и после создания снимков, а также правила отслеживания файлов.
|
||
|
||
Пример использования конфигурационного файла:
|
||
.RS
|
||
.B snag -c /path/to/config.json create
|
||
.RE
|
||
|
||
.SS Пример конфигурационного файла
|
||
.nf
|
||
{
|
||
"git": "/path/to/git/repository/dir",
|
||
"project": "/path/to/project",
|
||
"email": "user@site.domain",
|
||
"author": "snag",
|
||
"presnag": [
|
||
"systemctl stop my.service"
|
||
],
|
||
"postsnag": [
|
||
"systemctl start my.service"
|
||
],
|
||
"rules": {
|
||
"tracking": [
|
||
"/first_dir/",
|
||
"/second_dir/*.conf",
|
||
"/second_dir/more/"
|
||
],
|
||
"ignore": [
|
||
"/second_dir/more/*.so"
|
||
]
|
||
}
|
||
}
|
||
.fi
|
||
|
||
.SS Описание полей конфигурационного файла
|
||
.TP
|
||
.B git (строка)
|
||
Путь к репозиторию для хранения снимков (например, /path/to/git/repository/dir).
|
||
.TP
|
||
.B project (строка)
|
||
Путь к проекту или директории, файлы которой отслеживаются (например, /path/to/project).
|
||
.TP
|
||
.B email (строка)
|
||
Email автора снимков (например, user@site.domain). Переопределяется опцией
|
||
.B -e
|
||
или
|
||
.B --email.
|
||
.TP
|
||
.B author (строка)
|
||
Имя автора снимков (например, snag). Переопределяется опцией
|
||
.B -a
|
||
или
|
||
.B --author.
|
||
.TP
|
||
.B presnag (массив строк)
|
||
Список команд, выполняемых перед созданием или импортом снимка (если не указан
|
||
.B --no-pre).
|
||
Пример: systemctl stop my.service.
|
||
.TP
|
||
.B postsnag (массив строк)
|
||
Список команд, выполняемых после создания или импорта снимка (если не указан
|
||
.B --no-post).
|
||
Пример: systemctl start my.service.
|
||
.TP
|
||
.B rules (объект)
|
||
Определяет правила отслеживания файлов.
|
||
.RS
|
||
.TP
|
||
.B tracking (массив строк)
|
||
Список шаблонов файлов или директорий для отслеживания (например, /first_dir/, /second_dir/*.conf, /second_dir/more/).
|
||
.TP
|
||
.B ignore (массив строк)
|
||
Список файлов или директорий, исключаемых из отслеживания (например, /second_dir/more/*.so).
|
||
.RE
|
||
.SS Примечания
|
||
.IP \(bu 4
|
||
Правила в разделе
|
||
.B rules
|
||
можно обновлять с помощью
|
||
.B snag rules update
|
||
или просматривать с помощью
|
||
.B snag rules show -c.
|
||
.IP \(bu 4
|
||
Параметры командной строки, такие как
|
||
.B -e
|
||
или
|
||
.B -a,
|
||
имеют приоритет над значениями из конфигурационного файла.
|
||
.IP \(bu 4
|
||
Убедитесь, что пути, указанные в
|
||
.B git
|
||
и
|
||
.B project,
|
||
существуют и доступны для записи/чтения.
|
||
.IP \(bu 4
|
||
Команды в
|
||
.B presnag
|
||
и
|
||
.B postsnag
|
||
должны быть корректными и доступными в системе, иначе операция может завершиться ошибкой.
|
||
.SH ЛИЦЕНЗИЯ
|
||
GPL-2.0. Подробности см. в файле LICENSE.
|
||
.SH КОНТАКТЫ
|
||
Для вопросов и предложений: alexander@zhirov.kz |