Учитывая исходную и резервную файловую систему, как я могу узнать, отсутствуют ли какие-либо файлы?

Существует несколько простых ситуаций, в которых предпочел бы IIS:

  1. Ваш поставщик приложений требует его
  2. Вы ограничиваетесь Windows Server и не нуждаетесь ни в каких определенных для Apache функциях
  3. Необходимо выполнить приложение ASP.NET или ASP

Конечно, IIS не имеет простых встроенных эквивалентов для некоторых очень полезных модулей Apache, таких как mod_proxy и mod_rewrite, но IIS действительно имеет несколько собственных побед:

  • Для изоляции приложений для выполнения в различных пользовательских контекстах IIS позволяет простую конфигурацию и даже функциональности suexec-типа на файл на каталог.
  • Для безопасной интеграции аутентификации пользователя от веб-запроса до сетевых ресурсов, таких как SQL Server, MSDTC, MSMQ и доли файла приняты (это может быть про или доводом "против", но это - определенно другая модель со своими собственными преимуществами и недостатками),
  • IIS намного легче установить и поддержать, так как он так тесно интегрируется с платформой - при обновлении Windows Вы обновляете веб-сервер; никакая потребность наблюдать за обновлениями Apache.

Короткий ответ, если Ваше приложение будет полагаться на основанную на Microsoft инфраструктуру (т.е. Active Directory, совместный доступ к файлам Windows, SQL Server, Exchange Server, и т.д.), то Ваша жизнь будет намного легче при использовании IIS.

Обновление

При отражении далее, нет никакой причины, Вы не можете или не должны использовать и IIS и Apache. То, когда я работал в магазине все-Microsoft несколько лет назад, мы хорошо использовали AD возможности интеграции IIS, но мы нашли много ситуаций (переписывает и обработка ошибок главным образом), в котором были методы IIS для того, чтобы выполнить наши задачи, но модули Apache были намного более чистыми или более простыми. Таким образом, мы прикрепили сервер Apache (на поле Linux) перед IIS, с помощью mod_proxy, и пожинали лучший из обоих миров.

2
задан 23 May 2017 в 15:41
3 ответа

Решение без поддержки rsync, которое проверяет время модификации и размер файла:

diff <(find dir1 -mindepth 1 -printf '%P %t %s\n' | sort) <(find dir2 -mindepth 1 -printf '%P %t %s\n' | sort) | grep -E '^[<>]'

Пример вывода:

> bar Sat Sep 14 11:52:33.0544384394 2013 91
< foo Fri Sep 13 17:58:21.0213671425 2013 445
> foo Sun Sep  8 23:01:02.0355432619 2013 347

Показывает, что foo был изменен в dir1 и бар существует только в dir2 .

3
ответ дан 3 December 2019 в 09:17

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


При прочих равных условиях rsync -nav --delete будет мое предложение.
Этот выполняет проверку содержимого и сообщает вам о дополнительных файлах, различных файлах и недостающих файлах. Он не такой подробный (медленный), как diff , а -n означает, что он фактически не затрагивает файловую систему.

3
ответ дан 3 December 2019 в 09:17

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

# vi /bin/checkbackup

#!/bin/bash
echo "1/5: Checking source files..."
find "$1" -type f -printf "%P %s\n" | sort > ~/.checkbackup_files.tmp
echo "2/5: Comparing destination files..."
find "$2" -type f -printf "%P %s\n" | sort | diff - ~/.checkbackup_files.tmp
echo "3/5: Checking source directories..."
find "$1" -type d -printf "%P\n" | sort > ~/.checkbackup_dirs.tmp
echo "4/5: Comparing destination directories..."
find "$2" -type d -printf "%P\n" | sort | diff - ~/.checkbackup_dirs.tmp
echo "5/5: Cleaning up"
rm -f ~/.checkbackup_files.tmp
rm -f ~/.checkbackup_dirs.tmp

# chmod 755 /bin/checkbackup

Использование:

$ checkbackup /path/to/dir1 /path/to/dir2

Отсутствие отчетов означает, что структура папок и имена совпадают , и что файлы имеют одинаковые размеры и имена, без каких-либо пропусков.

Протестировано на деревьях каталогов 1,5 ТБ на дисках SATA2 5400 об / мин, завершается примерно через 5 минут.

Этот сценарий никоим образом не закончен, несомненно, есть другие, лучше, быстрее и более подробные с большим количеством инструментов проверки. Но я думал, что все равно поделюсь им.

0
ответ дан 3 December 2019 в 09:17

Теги

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