На память о яндекс практикуме 🙂
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/bin/bash start=$1 end=$2 dir_path=${3:-~} # Опциональный третий аргумент — путь к директории, по умолчанию домашний каталог for ((i=start; i<=end; i++)) do archive_name=$(printf "archive-%03d.tar.gz" $i) # Форматирование номера с ведущим нулём d=$i let d-- archive_name_del=$(printf "archive-%03d.tar.gz" $d) archive_path="$dir_path/$archive_name" if [ -f "$archive_path" ]; then echo "Extracting $archive_name..." tar xzvf "$archive_path" rm $dir_path/$archive_name_del else echo "Archive $archive_name not found in $dir_path" exit 1 fi done |
Пожалуй это было самое интересное задание, на 15 архиве я понял что нужно автоматизировать 🙂 Скрипт не претендует на какую либо красоту, просто решает конкретную задачу.
Хочу представить простой скрипт дифференциального бэкапа, написанный на SH. Данный скрипт был написан под свои конкретные задачи, на текущий момент, он очень сырой и имеет огромное количество не доделок, которые в будущем планируется исправить и расширить функционально. Если вам нужна надежная система резервирования данных, используйте проверенные временем комплексы, такие как — Bacula, Attic, Amanda или […]
Стал все чаще и чаще в своей работе встречать разные *nix системы, по этому нужно как то облагородить наше рабочие пространство. За строку приглашения отвечают такие переменные среды, как PS1, PS2, PS3, PS4 и PROMPT_COMMAND. PS1 — переменная, которая задает вид строки приглашения командной строки, которое bash выводит, когда ожидает ввода очередной команды пользователем. PS2 […]
Свежие мысли