Различные дистрибутивы делают это по-другому. Вообще говоря, поиск под /etc
для места, где тот определенный демон запускается (grep -r ntpd /etc
или find /etc -type f -exec grep ntpd {} +
), затем посмотрите, как сценарий, который запускает его, получает свои параметры. С другой стороны, консультируйтесь с документацией своего распределения для общих принципов.
Обычно, или существует большой сценарий оболочки или другой конфигурационный файл, который запускает многие сервисы, или существует один сценарий или конфигурационный файл для каждого сервиса. Параметры могут быть даны в том сценарии или получены из переменной, которая установлена в некотором другом конфигурационном файле. Общие местоположения включают /etc/init*
, /etc/rc*
и /etc/default/*
.
Это - то, как работают hardlinks. Но, существуют пути вокруг этого:
Несколько опций приходят на ум:
btrfs
. Если бы, конечно, были Вы использующий btrfs, то Вы просто использовали бы его собственные снимки... Если Ваша файловая система поддерживает его, можно использовать cp --reflink=always
. К сожалению, ext4 не поддерживает это.Конечно, существует другая опция — используют надлежащую систему резервного копирования. Большинство всем им может удаться только скопировать измененные файлы.
То, что Вы ищете, является формой копии на записи, где несколько файлов, которые имеют то же содержание, используют то же пространство на диске, пока один из них не изменяется. Жесткие ссылки только реализуют копию на записи, если приложение, которое делает записи, удаляет файл и создает новый файл тем же именем (который обычно делается путем создания нового файла другим именем, затем перемещения его в место). Приложение, которое Вы используете, очевидно не делает этого: это перезаписывает существующий файл.
Некоторые приложения могут быть настроены для использования заменяющей стратегии. Некоторые приложения используют заменяющую стратегию по умолчанию, но используют стратегию перезаписи, когда они видят файл с несколькими жесткими ссылками, точно чтобы не разорвать жесткие связи. Ваш текущий метод снимка будет работать, если можно настроить приложение для замены вместо перезаписи.
Fl-корова изменяет программы для систематического использования заменяющей стратегии относительно файлов с несколькими жесткими ссылками.
С другой стороны, можно хранить файлы в файловой системе, которая выполняет копию на записи или дедупликацию, или имейте функцию снимка и не беспокойство о жестких ссылках: Btrfs или Zfs. В зависимости от Вашей схемы выделения разделов, с помощью снимков LVM может быть опция.
Моя рекомендация состоит в том, чтобы использовать надлежащий инструмент снимка. Создание надежных резервных копий является удивительно трудным. Вы, вероятно, хотите rsnapshot.
Следующее является рубиновым сценарием, что я записал, что переносит "CP - al" и rsync в хороший скрипт, который может быть запущен вручную или через крон. Место назначения может быть локальным или удаленным (через ssh):
Основной ответ на Ваш вопрос, как упомянуто в предыдущем комментарии, источник должен быть сохранен кроме жестких ссылок. Исключая, примите ежедневное резервное копирование своего корневого каталога:
Источник:
Место назначения:
Жесткие ссылки создаются рабочим "CP - al" против вчерашнего резервного копирования. Скажите, что это - утро вторника при выполнении его:
cd /data/backup/daily
rm -rf tuesday
cp -al monday tuesday
rsync -a --delete /home/flakrat /data/backup/daily/tuesday/
Резервное копирование RDIFF, похоже, делает то, что вы хотите, проверьте это.
Использование rsync Вы должны сначала сделать полную резервную копию не используя жесткие ссылки. Следующее резервное копирование может указывать на предыдущую резервную и жесткую ссылку на него. Таким образом, ваши резервные копии не жестко связаны с вашими рабочими файлами (те, которые вы изменяете). Пример. Если бы моя предыдущая резервная копия была настолько резервной копией папки.01, мой сценарий резервного копирования будет сначала увеличивать папки, переименовая их на одну, так что Backup.01 становится Backup.02. Затем скрипт создает новую пустую папку, называемую Backup.01. Это будет затем RSCYNC новое резервное копирование в новую папку и жесткую ссылку на Backup.02, чтобы только новые файлы возьмут любое пространство в резервной копии. Команда rsync будет выглядеть что-то подобное: RSYNC -RLT Source DestUpPath / Backup.01 --Link-Dest = BackupPath / Backup.02
Итак, вы можете видеть, все жесткие ссылки происходят на пути резервного копирования. Таким образом, вам не нужно беспокоиться о копировании при записи при модификации файлов в исходном пути.
rsnapshot
хорошо – developerbmw 20.06.2015, 05:31