Как мне отладить проблемный сценарий резервного копирования Bash?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Как мне отладить проблемный сценарий резервного копирования Bash?

Сообщение Anonymous »

Я новичок в написании сценариев bash/shell, и мне сложно понять, где именно я ошибся с этим простым сценарием резервного копирования bash, который я пытаюсь написать для своего сервера. >
когда я запускаю команды по отдельности, кажется, что они делают то, что написано на коробке, однако, как только я испачкал их своим ужасным кодом, что-то пошло не так...
Скрипт работал до того, как я добавил сжатие файлов и право собственности.

Код: Выделить всё

#!/bin/bash
compress_backup() { tar -zcvf $FOLDER.tar.gz $FOLDER; }
change_ownership() { sudo chown $EXECUTOR:$EXECUTOR; }

EXECUTOR="${SUDO_USER:-${USER}}"
date=$(date '+%d-%m-%Y-%H:%M')
if [ -d "backup-$date" ]; then
FOLDER="backup-$date-2"
else
mkdir "backup-$date" && FOLDER="backup-$date"
fi
# Paths to be backed up...
paths=(/var/www/html /var/log /etc/apache2 /etc/ssh)
for path in "${paths[@]}"
do
sudo cp -r "$path" "$FOLDER"
echo "copied... $path"
done

echo -e "files backed up to $FOLDER \n"
echo "Would you like to compress the backup? 'yes' or 'no'?"

read INPUT

if [ "$INPUT" = yes ]; then
echo "Changing ownership of $FOLDER"
if [[ change_ownership ]]; then
echo "Ownership aquired for $EXECUTOR..."
else
echo "Ownership could not be aquired!"
exit 1
fi
echo "Compressing backup..."
if [[ compress_backup ]]; then
echo "$FOLDER.tar.gz has been created..."
echo "Backup completed successfully!"
exit 0
else
echo "Something went wrong whilst running compression!"
exit 1
fi
elif [ "$INPUT" = no ]; then
echo -e "Not compressing $FOLDER... \n"
echo "Backup Completed!"
exit 0
else
echo "Unrecognized input, exiting..."
exit 1
fi
Я хочу, если возможно, следовать правильному синтаксису для каждой команды, так как понятия не имею, ха-ха, я вроде как соединил это вместе, и мне интересно, например:
Должен ли я вообще использовать цикл для копирования каталогов или мне следует просто написать функцию и для этого?
Логичный ли мой код? что бы вы изменили?
Любая помощь в этом вопросе будет очень признательна! У меня мало времени, так что вы сэкономите мне драгоценные часы =)
Я пробовал менять коды выхода.
Скрипт работал до того, как я добавил сжатие файлов и право собственности

Подробнее здесь: https://stackoverflow.com/questions/787 ... kup-script
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»