Compare commits

..

24 Commits

Author SHA1 Message Date
349f4ae79e Тестирование форматирования и lsp bash, python в nvchad 2025-02-15 11:59:33 +03:00
78b1633710 Save 2025-02-15 11:59:33 +03:00
2126e4455b 03.12.2024A21:23221:23I122_03.12.2024, 21:23:13U12 2025-02-15 11:59:33 +03:00
bbb7197a5f 03.12.2024A21:15221:15I122_03.12.2024, 21:15:19U12 2025-02-15 11:59:33 +03:00
205a21c5ec 03.12.2024A21:11221:11I122_03.12.2024, 21:11:49U12 2025-02-15 11:59:33 +03:00
25fded3f7b 03.12.2024A21:04221:04I122_03.12.2024, 21:04:49U12 2025-02-15 11:59:33 +03:00
6b73f03ffc Тренировка создание echo сервера на bash 2025-02-15 11:58:57 +03:00
a568e6bb38 Тренировка на паре 2025-02-15 11:58:57 +03:00
291030655a вторник, 26 ноября 2024 г. в 20:06 GMT+03:00 2025-02-15 11:58:57 +03:00
4ffcd4b00d вторник, 26 ноября 2024 г. в 19:59 GMT+03:00 2025-02-15 11:58:57 +03:00
b733305f21 вторник, 26 ноября 2024 г. в 19:58 GMT+03:00 2025-02-15 11:58:57 +03:00
a594db77f3 вторник, 26 ноября 2024 г. в 19:55 GMT+03:00 2025-02-15 11:58:57 +03:00
83fb478a06 воскресенье, 24 ноября 2024 г. в 16:31 GMT+03:00 2025-02-15 11:58:57 +03:00
3312b35ece воскресенье, 24 ноября 2024 г. в 16:31 GMT+03:00 2025-02-15 11:58:57 +03:00
bb8995fb5f 24 нояб. 2024 г., 16:03 2025-02-15 11:58:57 +03:00
70fad940ba 24 нояб. 2024 г., 16:02 2025-02-15 11:58:57 +03:00
bcf921d82c 24 нояб. 2024 г., 15:59 2025-02-15 11:58:57 +03:00
022a8090f6 24 нояб. 2024 г., 15:58 2025-02-15 11:58:57 +03:00
a881094492 Использование df для проверки диского пространства и использование утилиты mail для отправк (#5)
Some checks failed
Deploy to Server (Docker) / deploy (push) Failing after 8s
Утилита mail не настроена полностью

Reviewed-on: https://git.gocommunity.ru/walleri1/go_winter_work_2025/pulls/5
Co-authored-by: Vitaliy Turov <walleri1@yandex.ru>
Co-committed-by: Vitaliy Turov <walleri1@yandex.ru>
2025-02-15 11:31:55 +03:00
e72bbca713 Примитивный способ создания бекапа без использования rsync (#4)
Some checks failed
Deploy to Server (Docker) / deploy (push) Failing after 6s
1. Проверяем, что папка, с которой надо сделать резервное копирование,
существует.
2. Получаем текущую метку времени.
3. Формируем имя с нашей меткой времени для создания архива через tar
утилиту

Reviewed-on: https://git.gocommunity.ru/walleri1/go_winter_work_2025/pulls/4
Co-authored-by: Vitaliy Turov <walleri1@yandex.ru>
Co-committed-by: Vitaliy Turov <walleri1@yandex.ru>
2025-02-15 11:31:36 +03:00
627cd7d499 feature/task_1 (#3)
Some checks failed
Deploy to Server (Docker) / deploy (push) Failing after 11s
Reviewed-on: https://git.gocommunity.ru/walleri1/go_winter_work_2025/pulls/3
Co-authored-by: Vitaliy Turov <walleri1@yandex.ru>
Co-committed-by: Vitaliy Turov <walleri1@yandex.ru>
2025-02-15 11:31:10 +03:00
8a73b135c0 Merge pull request 'feature/train_go' (#1) from feature/train_go into main
Some checks failed
Deploy to Server (Docker) / deploy (push) Failing after 6s
Reviewed-on: https://git.gocommunity.ru/walleri1/go_winter_work_2025/pulls/1
2025-02-08 13:07:18 +03:00
3858c94c4a Test CI/CD 2025-02-08 12:53:41 +03:00
0976fe8ad0 Test ci/cd 2025-02-08 12:37:53 +03:00
10 changed files with 193 additions and 9 deletions

View File

@ -0,0 +1,29 @@
name: Deploy to Server (Docker)
on:
push:
branches:
- main
- train_go
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Build Docker image
run: docker build -t registry.gocommunity.ru:5000/my-app-image .
- name: List Docker image
run: docker images
- name: Login to registry hub.
run: docker login -u podman -p PodMan25! registry.gocommunity.ru:5000
- name: Push Docker image to registry
run: docker push registry.gocommunity.ru:5000/my-app-image:latest
- name: Push Docker image to registry
run: echo "Happy New Year!!"

46
bash/task1/log_analyzer.sh Executable file
View File

@ -0,0 +1,46 @@
#!/bin/bash
# Проверка наличия аргумента
if [ "$#" -ne 1 ]; then
echo "Ошибка: Необходимо указать путь к лог-файлу."
echo "Использование: $0 <путь к лог-файлу>"
echo "Этот скрипт анализирует лог-файл на наличие ошибок, предупреждений и информационных сообщений."
echo "$0 /var/log/syslog"
exit 1
fi
# Путь к лог-файлу
log_file_path="$1"
# Проверка существования файла
if [ ! -f "$log_file_path" ]; then
echo "Ошибка: Файл '$log_file_path' не существует."
exit 1
fi
# Переменные для хранения количества сообщений
error_count=0
warning_count=0
info_count=0
# Чтение лог-файла и подсчет сообщений
while IFS= read -r line
do
case "$line" in
*"ERROR"*)
((error_count++))
;;
*"WARNING"*)
((warning_count++))
;;
*"INFO"*)
((info_count++))
;;
esac
done < "$log_file_path"
# Вывод результатов
echo "Количество сообщений в лог-файле:"
echo "Ошибки: $error_count"
echo "Предупреждения: $warning_count"
echo "Информационные сообщения: $info_count"

40
bash/task2/backup.sh Executable file
View File

@ -0,0 +1,40 @@
#!/bin/bash
# Проверка аргументов
if [ "$#" -ne 2 ]; then
echo "Использование: $0 <путь_к_каталогу_для_резервной_копии> <путь_к_каталогу_для_сохранения>"
exit 1
fi
# Получаем аргументы
source_dir="$1"
backup_dir="$2"
# Проверяем, существует ли исходный каталог
if [ ! -d "$source_dir" ]; then
echo "Ошибка: Исходный каталог '$source_dir' не найден."
exit 1
fi
# Создаем каталог для резервных копий, если он не существует
mkdir -p "$backup_dir"
# Получаем текущее время
timestamp=$(date +"%Y%m%d_%H%M%S")
# Создаем имя файла резервной копии
backup_file="backup_${timestamp}.tar.gz"
# Полный путь к архиву
backup_path="${backup_dir}/${backup_file}"
# Создание архива
tar -czf "$backup_path" -C "$source_dir" .
# Проверка успешности создания архива
if [ $? -eq 0 ]; then
echo "Резервная копия успешно создана: $backup_path"
else
echo "Ошибка: Не удалось создать резервную копию."
exit 1
fi

View File

@ -0,0 +1,15 @@
#!/bin/bash
# Указываем пороговое значение использования (например, 50%)
LIMIT=50
# Указываем почтовый адрес для уведомлений
EMAIL="walleri1@yandex.ru"
# Получаем текущее использование дискового пространства
USAGE=$(df -h / | awk 'NR==2 {gsub("%",""); print $5}')
# Проверяем, превышает ли использование пороговое значение
if [ "$USAGE" -gt "$LIMIT" ]; then
echo "Дисковое пространство переполнено: ${USAGE}% использовано." | mail -s "Предупреждение: Использование дискового пространства" "$EMAIL"
fi

1
bash/test_branch.sh Normal file
View File

@ -0,0 +1 @@
#!/bin/bash

23
go/cmd/main.go Normal file
View File

@ -0,0 +1,23 @@
package main
import (
"fmt"
time "time"
cycle "train_golang/pkg"
)
func add(a, b int) {
fmt.Println("Sum = ", a+b)
}
func sub(a, b int) {
fmt.Println("Sub = ", a-b)
}
func main() {
go add(5, 6)
go sub(7, 9)
cycle.SimpleForCycle()
time.Sleep(1 * time.Second)
}

3
go/go.mod Normal file
View File

@ -0,0 +1,3 @@
module train_golang
go 1.23.6

11
go/pkg/cycle.go Normal file
View File

@ -0,0 +1,11 @@
package cycle
import (
fmt "fmt"
)
func SimpleForCycle() {
for i := 0; i < 100; i++ {
fmt.Println("Iter: ", i)
}
}

25
go/summ/summ.go Normal file
View File

@ -0,0 +1,25 @@
package main
import (
"fmt"
"os"
"strconv"
)
func main() {
summ := 0
// Проходим по всем аргументам командной строки, начиная с первого
for i := 1; i < len(os.Args); i++ {
// Преобразуем аргумент в целое число
num, err := strconv.Atoi(os.Args[i])
if err != nil {
fmt.Fprintf(os.Stderr, "Ошибка преобразования аргумента '%s': %v\n", os.Args[i], err)
return
}
summ += num
}
// Выводим результат
fmt.Println(summ)
}

View File

@ -1,9 +0,0 @@
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!")
}