Как отслеживать изменения в/etc/

Необходимо дать параметр -X a screen команда, я думаю, что Вы хотите "наполнить" команду сервера Minecraft к screen сессия.

screen -r minecraft -p 0 -X stuff "stop $(printf '\r')"

printf отправьте возврат каретки, таким образом, команда "остановка" выполняется. -p 0 удостоверяется, что символы отправляются в начальное окно Screen.

Для отправки его ssh у Вас есть к корпусу команда в " " (Вы могли также использовать ` `, но это не позволило бы Вам сделать замену команды).

ssh -t -i ~/.ssh/id_dsa server_user@server_address "screen -r minecraft -X stuff "even other_server_name is getting in on the action\! $(echo -ne '\r')""

Остерегайтесь этого ! зарезервированное слово, необходимо выйти из него.

Также возможно включать сгенерированную новую строку пользователя в команду для выполнения его:

ssh -t -i ~/.ssh/id_dsa server_user@server_address "screen -r minecraft -X stuff 'even other_server_name is getting in on the action!
'"

Выход ! не необходимо здесь.

30
14.01.2012, 16:12
9 ответов

Это кажется на желание etckeeper от Joey Hess из Debian который управляет файлами под /etc использование управления версиями. Это поддерживает мерзавца, подвижного, darcs и базар.

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

33
27.01.2020, 19:38
  • 1
    Etckeeper является легко одним из самых ценных административных средств, которые я установил на своих машинах, и один из самых первых пакетов, которые я устанавливаю после установки новой системы. –  hlovdal 21.02.2016, 23:10

Я не могу дать Вам окончательную рекомендацию, но я могу совместно использовать несколько мыслей о предмете. Учитывая, что / и т.д. является обычно довольно маленьким, Вы могли бы просто пойти для простого сжатого решения шара tar. Если едва необходимо пройти историю, это могло бы быть самое легкое решение настроить.

Для меня это было бы к утомительному для управления, логические тома только, чтобы сделать отслеживают / и т.д. и тем более, что я не думаю, что снимки LVM были разработаны, чтобы регулярно создаваться как средства для резервного копирования относительно небольшого объема данных.

btrfs, кажется, мне намного лучше, оборудуют для этого, но это все еще не столь стабильно как, например, расширение {2,3,4} и fsck инструмент еще также не сделаны. Но это непрерывно поправляется.

Лично я на самом деле использую мерзавца для отслеживания / и т.д., но необходимо иметь в виду, что мерзавец не хранит метаинформацию файла как владение или разрешение! И также проверьте, что .git каталог имеет правильное разрешение. Существует несколько инструментов, которые помогают с этими проблемами все же. Вы могли бы хотеть смотреть на и-т.д.-хранителя, который был разработан точно для отслеживания / и т.д., или используйте, по крайней мере, используют что-то как gitperms или метахранилище для отслеживания метаинформации.

6
27.01.2020, 19:38

Для отслеживания "нежелательные" изменения, мы используем HIDS - в нашем случае samhain другие tripwire или aide. Все эти системы предупредят Вас, когда что-то нежелательное произошло.

A yum update ничего не должен изменять, не оставляя .rpmnew или .rpmold, если файл конфигурации отмечается как таковой в соответствующем об/мин.

Myselv я нашел это хорошей практикой для создания копии безопасности файла, с которым я собираюсь изменить cp -p origfile origfileYYYY-MM-DD с датой накануне.

Если все остальное перестало работать - я звоню резервным парням и прошу восстановление от последнего известного "хорошего" резервного копирования.

3
27.01.2020, 19:38

Я думаю, что можно сделать снимок файлов/каталогов в /etc.

Сначала составьте список файлов/etc/каталог:

# ls -lha /etc >> /snapshotofetc

И если Вы делаете файл в /etc

# touch testfile

и если Вы забираете обратно снимок /etc как то, что мы сделали прежде

# ls -lhs /etc /lastsnapshotofetc

и затем можно сравнить различия между этими 2 файлами как это:

# diff /snapshotofetc /lastsnapshotofetc
1
27.01.2020, 19:38

Всегда существует radmind. Можно прокрутить то изменение назад, если Вам не нравится оно.

1
27.01.2020, 19:38

Вы ищете управление конфигурацией или отслеживаете/контролируете изменения файловой системы?

Если бы это ранее, я посмотрел бы на puppet или chef. CFEngine существует в коммерческих целях. puppet популярный зверь в эти дни.

Если это - более позднее, его твердое Вы для наблюдения изменений файловой системы однако существует экземпляр программ как inotify и аудит файловой системы auditctl или SGI's fam но снова, это - контролирующая вещь и может быть дорогой реализацией (производительность файловой системы может получить deterioriated).

0
27.01.2020, 19:38
  • 1
    etckeeper может быть тихим знатоком для только / и т.д. определенный материал. –  Nikhil Mulley 14.01.2012, 16:02
  • 2
    Извините за то, чтобы быть настолько неточным. Я улучшил вопрос. –  taffer 14.01.2012, 16:13

Можно проверить rsnapshot который сохраняет почасовые снимки любых каталогов, которые Вы хотите..., можно настроить его, чтобы сделать 24 часа, затем X ежедневных газет, затем X еженедельников, и т.д. Так, как Вы хотите для дискового пространства. Это достаточно умно к жесткой ссылке, когда файлы не изменились (это использует rsync негласно.

0
27.01.2020, 19:38

Вы могли бы рассмотреть использование git. Вы можете Он быть эффективным в отслеживании изменений и очень простым в использовании для чего-то вроде этого.

git status # Show changed files
git diff # Show file differences (paged automatically)
git commit -a # Commit all changes. 

Я полагаю, что начальная настройка идет как это. Я не сделал этого некоторое время.

cd /etc
git init
git add *
git commit -a -m "Created repository"

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

Вы можете использовать клонирование для обработки файла, характерного для нескольких серверов.

0
27.01.2020, 19:38

У меня есть сценарий, который каждый день работает и создает резервную копию файлов, которые изменились начиная с предыдущего резервного копирования:

#!bin/bash
ext=$(date +"%Y%m%d")_ChangeS
mkdir -p "$1/$ext" && \
  ionice -c3 rsync -ah --numeric-ids --inplace --backup \
                   --backup-dir="$1/$ext" \
                   --include="/etc" / "$1" && \
  rmdir --ignore-fail-on-non-empty "$1/$ext"

Вы передаете в пути, где резервные копии были бы созданы, и тот каталог будет иметь список подобным этому (после того, как несколько выполнений):

20120106_ChangeS  etc
$ls 20120106_ChangeS/etc/
cron.d

Вы могли изменить его немного, чтобы записывать изменения чаще или использовать inotify для инициирования измененной версии сценария, когда изменения происходят на /etc.

0
27.01.2020, 19:38

Теги

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