Как опустить каталог от резервного копирования

Не используйте псевдоним. Используйте функцию оболочки. Как это

function sysctl_start {
    systemctl start "$1" && echo SUCCESS || echo FAILURE
}

или даже лучше

function sysctl_start {
    systemctl start "$1"
    systemctl status "$1"
}

, если вы хотите просто специальное обращение для запуска, но держите имя, напишите обертку

function systemctl {
    if [ "$2" = start ]; then
       shift
       /usr/bin/systemctl start "$@" && echo "SUCCESS" || echo "FAILURE"
    else
       /usr/bin/systemctl "$@"
    fi
}
0
03.05.2015, 21:28
1 ответ

У меня есть dir в /home под названием backups, поэтому я ищу возможность пропустить этот каталог из резервной копии, используя, скажем, -x /home/backups. Как мне это реализовать?

Чтобы это реализовать, вы просмотрите скрипт и найдете соответствующие строки для создания резервной копии каталога:

# Compress tables and files
cd $TARGET_DIR
tar -czf $BACKUP_DIR/backup.incoming/$backup_filename -C $BACKUP_DIR/backup.incoming/ mysql_dump.sql $TARGET_DIR

Вы обнаружите, что он использует tar, так что вы просмотрите страницу man для tar и определите, что опция исключить является --исключить, а не x. Затем вы примените изменения к файлу и протестируете его.

Вместо того, чтобы исключать фиксированную директорию, имеет смысл - в контексте скрипта - использовать переменную, которая объявляет директорию резервного копирования, $BACKUP_DIR.

tar -czf $BACKUP_DIR/backup.incoming/$backup_filename -C $BACKUP_DIR/backup.incoming/ --exclude $BACKUP_DIR mysql_dump.sql $TARGET_DIR

Пока вы редактировали скрипт, было бы еще лучше (тривиально) модифицировать большую часть скрипта так, чтобы он мог справляться с именами каталогов, содержащих пробелы и другие странности. Вы бы сделали это, цитируя большинство переменных. Например, раздел tar стал бы таким:

# Compress tables and files
cd "$TARGET_DIR"
tar -czf "$BACKUP_DIR/backup.incoming/$backup_filename" -C "$BACKUP_DIR/backup.incoming/" --exclude "$BACKUP_DIR" mysql_dump.sql "$TARGET_DIR"
1
28.01.2020, 02:50

Теги

Похожие вопросы