Локальное rsync включение / исключение - PullRequest
0 голосов
/ 25 июля 2011

Я не могу получить команду для резервного копирования / etc / php5, / etc / apache2 и / etc / mysql. Я использую два, так как я не мог понять, как сделать оба в одном. Первый работает:

rsync -vahtl --dry-run --log-file=$LOGFILE --exclude="wp-includes/" --exclude="wp-admin/" --exclude="wp-*.php" /var/www $DROPBOX_FOLDER

Но когда я запускаю второе, я пробовал несколько вариантов директив --include и --exclude, и ничего не работает:

rsync -vahtl --dry-run --log-file=$LOGFILE --include="php5" --exclude="*" /etc $DROPBOX_FOLDER
rsync -vahtl --dry-run --log-file=$LOGFILE --include="*/" --include="php5/" --exclude="*" /etc $DROPBOX_FOLDER

и т.д ..

1 Ответ

0 голосов
/ 06 июня 2012

Самый быстрый способ - запустить его как скрипт bash, используя что-то вроде этого. Нужно будет настроить его под свой вкус Linux

#!/bin/sh
# rsync backup script
rsync -avz --delete-excluded --exclude-from=backup.lst / /home/USERNAME/Dropbox/backup

Затем создать файл с именем backup.lst в каталоге, в которомвы запустите скрипт из # Include + / etc / php5 + / etc / apache2 + / etc / mysql + / var / www

# Exclude
- /var/www/wp-admin/*
- /var/www/wp-*.php
- /var/www/wp-includes/*
- /etc/*
- /run/*
- /proc/*
- /sys/*
- /tmp/*
- lost+found/
- /media/*
- /mnt/*

Вот некоторые примеры исключений / включения:

# --exclude "*.o"   would exclude all filenames matching *.o
# --exclude "/foo"  would exclude a file in the base directory called foo
# --exclude "foo/"  would exclude any directory called foo.
# --exclude "/foo/*/bar"  would exclude any file called bar two levels below a
                      base directory called foo.
# --exclude "/foo/**/bar" would exclude any file called bar two or more levels below
                      a base directory called foo.
# --include "*/" --include "*.c" --exclude "*"
                      would include all directories
                      and C source files
# --include "foo/" --include "foo/bar.c" --exclude "*"
                would include only foo/bar.c (the foo/ directory must be
                explicitly included or it would be excluded by the "*")
...