Как управлять сервером?



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

Какие бывают панели управления?
  • В чем различия между ними?
  • Какую панель управления сервером выбрать?
  • Обзор самых используемых: ISPmanager, cPanel, Plesk, Webmin, BrainyCP, Vesta, DirectAdmin, Sentora, Ajenti, ISPConfig.
Надеемся статья понравится, а если захочется обсудить эту тему дальше или рассказать о новых классных инструментах, которые еще не получили широкую известность, — приглашаем в наши социальные сети!

rackstore.ru/help/kak-vyibrat-panel-upravleniya.html

Настройка версии PHP для каждого домена, новая расширенная статистика и другое




Новая расширенная статистика
Сервис «Джино.Хостинг» обзавелся новой версией расширенной статистики. Теперь вы можете получать полноценные сведения о посещаемости ваших сайтов в современном и наглядном виде.
www.jino.ru/about/news/articles/extstats-new/


Перенаправление на HTTPS на «Джино.Лендинге»
На сервисе «Джино.Лендинг» появилась функция принудительного редиректа HTTP-запросов на безопасный протокол HTTPS. Перенаправление работает на всех доменах, привязанных к лендингу и имеющих SSL-сертификат.
landing.jino.ru/about/news/articles/landing-https/


Новая версия OpenVZ
Система виртуализации OpenVZ на сервисе «Джино.VPS» обновлена до версии 7. Теперь все вновь созданные виртуальные машины на OpenVZ будут базироваться именно на ней.
Кроме того, для виртуальной машины OpenVZ теперь можно выбрать Debian 9 в качестве гостевой ОС — ранее была доступна только версия 8.
vps.jino.ru/about/news/articles/openvz7/


Больше выгоды от «Джино.Ключа» — больше бонусов
Помимо очевидной пользы от приложения «Джино.Ключ» в виде надежной двухфакторной аутентификации, участвуя в бонусной программе «Джино.Плюсы», вы получаете приятный презент — 400+ за установку и дополнительные 50+ за каждый месяц использования.
Также у вас есть возможность улучшить работу приложения, и при этом заработать 400+ за отзыв, размещенный в каждом из магазинов приложений Google Play и App Store.


Инфографика «Джино.Ключ»
Очередной наглядный материал от «Джино» о приложении «Джино.Ключ», отвечающем за безопасный и быстрый вход в аккаунт для пользователей ОС Android и iOS.
Здесь вы узнаете о важности мер безопасности в сети, о технологиях, используемых в работе приложения, а также о шагах установки «Джино.Ключа» и предоставляемых бонусах.
Инфографика расположена в одноименном разделе на нашем сайте.
www.jino.ru/help/infographic/

Announcing MongoDB Atlas free tier on GCP



Ранее в этом году, в ответ на сильный покупательский спрос, мы объявили, что мы расширяем поддержку региона для Atlas MongoDB. База данных MongoDB NoSQL пользуется огромной популярностью, а облачная версия MongoDB Atlas упрощает управление на Google Cloud Platform (GCP). Мы услышали отличные отзывы от пользователей, поэтому мы еще больше опустили барьер, чтобы начать работу с Atlas и GCP MongoDB.

Мы рады сообщить, что на сегодняшний день MongoDB будет предлагать бесплатный уровень аттестата MongoDB Atlas на GCP в трех поддерживаемых регионах, стратегически расположенных в Северной Америке, Европе и Азиатско-Тихоокеанском регионе в знак признания нашей широкой базы установки пользователей.

Свободный уровень позволит разработчикам бесплатную среду для песочницы для Atlas on MongoDB на GCP. Вы можете протестировать любые потенциальные рабочие нагрузки MongoDB на свободном уровне и решите перейти на более крупный платный Atlas-кластер, если у вас есть уверенность в наших облачных продуктах и ​​производительности.
На сегодняшний день эти конкретные регионы поддерживаются свободным уровнем Atlas:
  • Айова (us-central1)
  • Бельгия (europe-west1)
  • Сингапур (азия-юго-восток1)

Чтобы начать работу, вам просто нужно войти в консоль MongoDB, выбрать «Создать новый кластер», выбрать «Виртуальную платформу Google» и найти сообщение «Свободный уровень». Свободный уровень использует экземпляры M0 от MongoDB. Кластер M0 представляет собой среду Sando MongoDB для прототипирования и ранней разработки с объемом памяти 512 МБ. Он также оснащен мощными функциями предприятия, такими как постоянная аутентификация, сквозное шифрование и высокая доступность, а также мониторинг. Счастливые эксперименты!

Почему мы верим в открытое облако

Открытые облака больше, чем когда-либо. В то время как большинство компаний сегодня используют единый государственный облачный провайдер в дополнение к своей локальной среде, исследования показывают, что в ближайшие годы большинство компаний, скорее всего, примут несколько публичных и частных облаков. Фактически, согласно исследованию по правам человека 2018 года, 81% предприятий с 1000 или более сотрудниками имеют стратегию с несколькими облаками, и если вы считаете SaaS, то большинство организаций уже делают много облаков.

Открытые облака позволяют клиентам свободно выбирать, какая комбинация услуг и провайдеров наилучшим образом удовлетворит их потребности с течением времени. Открытые облака позволяют заказчикам эффективно управлять своей инфраструктурой в среде гибридных облаков.
Мы верим в три принципа для открытого облака:
  1. Open — это возможность забрать приложение и перенести его — туда и обратно, облако или другое облако — в любое время.
  2. Программное обеспечение с открытым исходным кодом позволяет обеспечить многообразие мысли и непрерывной обратной связи с пользователями.
  3. Открытые API сохраняют способность каждого строить работу друг друга.

1. Open — это возможность забрать приложение и переместить его
Открытое облако основано на убеждении, что привязка к определенному облаку не должна мешать достижению ваших целей. Открытое облако охватывает идею о том, что способность доставлять ваши приложения на разные облака при использовании общего подхода к разработке и операциям поможет вам в любой момент, независимо от того, какой ваш приоритет зависит от того, насколько эффективно вы используете свои навыки в разных командах или быстро ускоряя инновации. Открытый источник — это инструмент открытых облаков, потому что открытый источник в облаке сохраняет контроль над тем, где вы развертываете свои инвестиции в ИТ. Например, клиенты используют Kubernetes для управления контейнерами и TensorFlow для создания моделей машинного обучения на местах и ​​на нескольких облаках.

2. Программное обеспечение с открытым исходным кодом обеспечивает богатый уровень мысли и непрерывный цикл обратной связи с пользователями
Благодаря непрерывному циклу обратной связи с пользователями программное обеспечение с открытым исходным кодом (OSS) приводит к лучшему программному обеспечению, быстрее и требует значительного времени и инвестиций со стороны людей и компаний, ведущих проекты с открытым исходным кодом. Вот примеры приверженности Google OSS и требуемым различным уровням работы:
  • OSS, такой как Android, имеет открытую базу кода, и разработка является исключительной ответственностью одной организации.
  • OSS с изменениями, связанными с сообществом, такими как TensorFlow, предполагает координацию между многими компаниями и отдельными лицами.
  • OSS с общинной стратегией, например сотрудничество с Linux Foundation и сообществом Kubernetes, предполагает совместную работу, принятие решений и принятие консенсуса в отношении контроля.
Открытый источник настолько важен для Google, что мы называем его дважды в нашей корпоративной философии, и мы призываем сотрудников, а на самом деле всех разработчиков, взаимодействовать с открытым исходным кодом.

Используя BigQuery для анализа данных GHarchive.org, мы обнаружили, что в 2017 году более 5500 гуглеров представили код почти в 26 000 репозиториев, создали более 215 000 запросов на тягу и общались с бесчисленными сообществами почти через 450 000 комментариев. Сравнительный анализ вклада Google в открытый исходный код обеспечивает полезную относительную позицию ведущих компаний в открытом источнике на основе нормализованных данных.
Googlers активно участвуют в популярных проектах, о которых вы, возможно, слышали, включая Linux, LLVM, Samba и Git.

Регулярно открытые внутренние проекты Google
Лучшие проекты, инициированные Google, включают:
  • Кубернетес — контейнерная оркестровка (github)
  • TensorFlow — # 1 репозиторий для машинного обучения на github
  • BBR алгоритм управления перегрузкой — ваш Интернет только быстрее (github)
  • Open compute project rack — эффективный дата-центр для всех (pdf)
  • gRPC — высокопроизводительная инфраструктура RPC (github)
  • Bazel — система непрерывной интеграции (github)
  • VP9 — формат видеокодирования без роялти (проект)
  • Хром — самый популярный браузер (github)
  • Android — самая популярная операционная система для смартфонов (веб-сайт)
  • Golang — разработка простого, эффективного и надежного программного обеспечения в масштабе (github)
  • V8 — высокопроизводительный движок JavaScript (github)

3. Откройте API-интерфейсы, чтобы сохранить способность каждого строить работу друг друга
Открытые API-интерфейсы сохраняют способность каждого строить работу друг друга, улучшая программное обеспечение итеративно и совместно. Открытые API позволяют компаниям и отдельным разработчикам по желанию изменять поставщиков услуг. Рецензируемые исследования показывают, что открытые API-интерфейсы ускоряют инновации во всей отрасли и в любой конкретной экосистеме. Открытые API-интерфейсы зависят от права повторного использования установленных API-интерфейсов, создавая независимые, но совместимые реализации. Google стремится поддерживать открытые API через наше участие в Open API Initiative, участие в спецификации Open API, поддержку gRPC, благодаря совместимости с Cloud Bigtable с API-интерфейсом HBase, Cloud Spanner и BigQuery с SQL: 2011 (с расширениями) и совместимость с облачным хранилищем с общими API.
Создайте открытое облако с нами
Если вы верите в открытое облако, как мы, мы будем рады вашему участию. Вы можете помочь

VPN за 199 рублей

У нас стала доступна для заказа услуга VPN. Сейчас она предсставлена двумя тарифами:

  • CUSTOM-VPN
  • настройка VPN на ранее заказанном сервере
  • 199 ₽ за установку
  • Заказать

  • COMPLEX-VPN
  • Заказ VPS с предустановленным VPN
  • 199 ₽ за установку и 99 ₽ ежемесячно
  • Заказать


Вы можете перейти к странице услуги или посетить панель управления для заказа услуг.

Datacenter.com обеспечивает соответствие стандартам PCI DSS

Global Colocation Brand Datacenter.com обеспечивает соответствие стандартам PCI DSS (безопасность) и ISAE (аутсорсинг услуг)

Амстердам, Нидерланды, 25 июня 2018 г. — Datacenter.com, глобальный поставщик услуг колокейшн по требованию, который заплатил более 500 000 долларов США за свое доменное имя, с его первым крупномасштабным центром данных Colocation AMS1, расположенным в Амстердаме, Нидерланды, достигнута сторонняя сторона подтвердила соответствие стандартам PCI DSS 3.2 и ISAE3402. Сертификаты гарантируют, что Datacenter.com имеет средства контроля корпоративного уровня для защиты данных платежей, одновременно защищая эффективность своей системы внутреннего контроля (ICS) как сервисной организации и глобального поставщика профессиональных решений по аутсорсингу ИКТ.

Сертификация PCI DSS (стандартная система безопасности данных платежных карт) была бы важной аккредитацией для финансовых компаний и торговцев электронной коммерцией, размещенных в помещениях Амстердама Datacenter.com. Стандарт PCI DSS 3.2 предоставляет набор политик и процедур, предназначенных для обеспечения клиентам Datacenter.com, что их карточные данные и финансовые транзакции в этой среде центров обработки данных Colocation в Амстердаме всегда защищаются в любое время.

ISAE3402 — международный признанный стандарт аутсорсинга для сервисных организаций. Он предоставляет клиентам Datacenter.com уверенность в том, что их (конфиденциальные) данные защищены должным образом и придерживаются строгих правил конфиденциальности. В нем также рассматриваются возможности управления рисками, а также меры по борьбе с мошенничеством с учетом выявленных рисков.

Утверждение стороннего соответствия Datacenter.com для этих сертификатов PCI DSS и ISAE3402 не требовало каких-либо дополнительных корректировок при завершении работы, сказал Jouke Albeda — менеджер по безопасности и соответствию на Datacenter.com, в основном из-за его предыдущего опыта работы в качестве ИТ-аудитора для EY и БДО. «Являясь ИТ-аудитором для нескольких консалтинговых фирм, я провел много ИТ-аудитов, включая соблюдение ISAE для компаний в индустрии центров обработки данных», — сказал Жук Альбеда. «Теперь, когда я работаю на стороне клиента, мой обширный опыт в области ИТ-аудита очень полезен, и мы не прилагаем столько усилий, чтобы помочь нашему AMS1-объекту в Амстердаме успешно подготовиться к этим аудитам соответствия».

Соответствие требованиям жизненного цикла данных
Поскольку команда управления Datacenter.com уделяет большое внимание усилиям по обеспечению соблюдения и обеспечению безопасности, одним из их первых сотрудников на самом деле был г-н Альбеда, который в качестве эксперта по обеспечению соблюдения, конфиденциальности и безопасности управляет надежной стратегией управления Datacenter.com.

«Благодаря моему обширному опыту в области ИТ-аудита мы можем получить дополнительную милю для наших клиентов, когда речь идет о требованиях к их соблюдению», — добавил г-н Альбеда. «Что касается PCI DSS, например, вы должны сначала определить область, к которой могут применяться элементы управления PCI DSS. После определения вашей области действия вы должны применить все элементы управления безопасности в стандарте к содержащейся среде, которую вы определили. Излишне говорить, что обширная область PCI DSS, как правило, приводит к более сложной траектории соответствия, которую сложнее достичь. Не в нашем случае. Мы решили даже включить управление жизненным циклом данных клиентов в нашу компетенцию PCI DSS ».

Таким образом, для Datacenter.com достижение сертификации соответствия PCI DSS означает, что компания теперь даже имеет стороннюю аккредитацию для безопасной обработки клиентских носителей данных. «Являясь поставщиком чистых игр, мы ориентируемся исключительно на предоставление услуг центров обработки данных Colocation, например, мы не используем облако», — сказал Йохем Штеман, генеральный директор Datacenter.com. «Мы внимательно следим за потребностями наших клиентов, включая CSP, предприятия, вещательные компании и онлайн-провайдеры. Предоставление наших колокейшн-услуг по требованию с ежемесячными контрактами является важным активом в нашем портфеле продуктов. Он удовлетворяет потребности облачных провайдеров и предприятий. Мы также ожидаем, что управление жизненным циклом данных станет довольно интересным сервисом, так как это освободит наших клиентов-колокейсов, помогая им защищать свои данные от конца до конца ».

PCI DSS включает набор стандартов безопасности, созданных в 2004 году Visa, MasterCard, Discover и American Express. ISAE3402 был разработан IAASB (международным советом по стандартам аудита и сертификации), предписывая отчеты по управлению организацией (SOC), сначала публикуемые в 2011 году. В качестве менеджера по безопасности и соответствию Datacenter.com г-н Альбеда не только сосредоточен на соблюдении этих требований аккредитаций. Другие сертификаты, уже достигнутые или планируемые для получения, включают ISO27001, ISO14001 и ISO9001.

Выделенные серверы — 4 месяца по цене 3-х

Закажите сервер на 3 месяца и получите 4-ый месяц в подарок — предложение действует до 30 июня. Так вы с толком используете “сгорающий” бюджет и не будете переживать, что сервер простаивает (потому что летом все в отпусках и заниматься новыми проектами некому).

Акция действительна для готовых выделенных серверов. Закажите такой на период от 3 месяцев с промокодом SUMMERBUY. После активации сервера срок действия продлится на месяц.
1dedic.ru

Управление историей изменения конфигурационных файлов в Linux



Одной из самых часто возникающих при обслуживании сервера проблем является проблема идентификации изменений в настройках служб. К примеру, web-сервер работал хорошо, однако, после изменения настроек его производительность упала или он начал работать нестабильно. Традиционным способом решения данной проблемы является сохранение копии конфигурационного файла, однако, это далеко не самый удобный вариант решения проблемы. В этой статье мы рассмотрим стратегию и инструкцию по настройке сохранения изменившихся конфигурационных файлов в репозиторий Git, что позволит не только иметь резервную копию всех конфигурационных файлов, но и легко наблюдать за историей их изменений и самими изменениями.

Итак, давайте представим наше идеальное решение, которое позволило бы нам в автоматическом режиме отслеживать изменения в конфигурационных файлах и сохранять данные изменения в репозиторий Git. Какими свойствами оно должно обладать:
  1. автоматически отслеживать изменения и сохранять их для будущего анализа;
  2. отслеживать историю изменений каждого файла с возможностью доступа к историческим состояниям и сравнения текущего состояния с историческим;
  3. безопасность хранения изменений и самих конфигурационных файлов;
  4. отслеживание изменений конфигураций нескольких серверов.

Хочется, отметить, что, при применении средств непрерывной автоматизации конфигураций (continuous configuration automation), подход, который мы обсуждаем здесь не будет иметь большой пользы, но, как правило, такие инструменты как Ansible, Chef, Puppet применяются только при управлении большими парками серверов. Применяющие же данные инструменты люди вполне осознают как добиться эффективного отслеживания изменений.

Итак, для начала работы необходимо определиться с провайдером Git. Вы можете самостоятельно установить и настроить Git, но для использования Git с удобным интерфейсом, позволяющим делать анализ изменений online, я рекомендую воспользоваться Gitlab. Образ для Docker можно взять здесь, а его настройка описана в официальной документации. Однако, некоторым администраторам будет проще купить платный аккаунт на GitHub за 7 долларов, в котором можно организовать неограниченное количество приватных репозиториев как для целей задачи управления конфигурациями, так и для иных скриптов. Далее, в данной статье будем считать, что используется GitHub. Мы будем использовать публичный репозиторий и давать ссылки на него.

Для решения задачи нам понадобится репозиторий Git, будем считать, что в каждом репозитории будет каталог с именем сервера, в котором будут отслеживаться конфигурационные файлы для этого сервера, например, для файла /etc/passwd с сервера jupiter:
configurations/jupiter/etc/passwd

Возможно организовать работу таким образом, чтобы все изменения конфигурационных файлов переносились в Git. Для этого можно воспользоваться инструментарием Inotify, например, inotifywait, однако, это кажется избыточным в общем случае. В рамках данной инструкции будем считать, что синхронизации 1 раз в час достаточно для нормального отслеживания изменений.

В данной инструкции нас не беспокоит определение того, кто изменил конфигурационные файлы. Мы будем считать, что пользователь, который это делает авторизован для выполнения задачи. Иными, словами, мы храним изменения не для того, чтобы бить палкой виновного, а для того, чтобы уметь определить что именно происходило с конфигурационными файлами.

Итак, для выполнения нашей цели определим пути файлов конфигураций, которые будем отслеживать. Обычно, /etc, /usr/local/etc, но у Вас могут быть и другие. Будем считать, что в рамках задачи мы отслеживаем пути:
/etc
/usr/local/etc

Рассмотрим, как будет выглядеть общая схема работы нашей системы по шагам:
  1. периодически будем переносить изменения из отслеживаемых каталогов в репозиторий с помощью rsync;
  2. каждый день в репозитории создается отдельная ветка для состояния предыдущего дня, в которую помещаются изменения на этот день;
  3. в ветке master всегда будет находиться текущая конфигурация.
Особого внимания заслуживает пункт «2». Часто администратору требуется восстановить конфигурацию на какой-то конкретный день. Создание ветки для каждого дня позволит решить эту задачу.

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

Создание репозитория
Итак, для начала необходимо создать репозиторий Git, в котором мы планируем хранить конфигурации. В случае GitHub, данная задача решается следующим образом (у нашей компании на GitHub имя пользователя netpoint-dc:
echo "# configurations" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:netpoint-dc/configurations.git
git push -u origin master


Эти команды будет необходимо ввести на нашем первом сервере, конфигурацию которого мы планируем отслеживать. Скопируйте их в текстовый файл или просто в буфер обмена.

Установка клиента Git на сервер
Для Debian, Ubuntu
apt-get update && apt-get install git
Для CentOS
yum install git

Генерация файла ключей SSH для доступа к Git
Доступ к Git возможно осуществлять по протоколу SSH, для этого необходимо положить публичную часть ключа на сервер Git. В GitHub это делается по данному адресу. Сам же ключ необходимо сгенерировать командой:
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:wBHTpwEdejAhByHJ9R/pajk3WNfofpJWEE+2I46dgoM root@git-config-article
The key's randomart image is:
+---[RSA 2048]----+
| ..o=oX*..       |
| o. = *+.o o     |
| = ++ = .        |
| =..oo+          |
| . .S+o+..       |
| E o=oo+ .       |
| *.o..o          |
| . o o+ .        |
| ..o             |
+----[SHA256]-----+
root@git-config-article:~#


Публичную часть ключа необходимо добавить на Ваш сервер Git (для GitHub адрес):
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFrbYQFrRHTFrcvy4N3n/rKj9qWJfpjrka7MnzpH0lvU1TllOgKD4XqP4a3CIr7lMgnkBtoXQcKHgYtX9aeMVUSLKCkNj0yxbIzcGaQi/fe5YBpAk7sKhpVwHXYqnrL9WVf9ZQ/D3uI/M9lxUZwj6TuBXYIsBx/+oe5kKhS01GhXYsFyWKLMUHS/NLaozPH9lFoa4fiQqi4Z9oK2pPzpz+AyiGV+yOxry/RlXtkq2KnB4qRkdf907zC94zIVRxPjZbvlvNlRCf2PLSAMnGkNorVdIjEP+b0tY+H8STeoo9PT6Pyt7IusMEqy4l8ppLqzbDpfPId5/6YbOk4CnaEVOJ root@git-config-article


Инициализация репозитория Git
Обратите внимание, мы используем для доступа к Git протокол git://. Если Вы планируете использовать протокол HTTPS, то Вы будете использовать аутентификацию по паре login/password, что не очень удобно.

mkdir configurations
cd configurations
echo "# configurations" >> README.md 
git init 
git add README.md 
git commit -m "first commit" 
git remote add origin git@github.com:netpoint-dc/configurations.git
git push -u origin master


Если все прошло успешно, то Вы должны получить сообщение, похожее на следующее:
root@git-config-article:~/configurations# git push -u origin master
The authenticity of host 'github.com (192.30.253.113)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.253.113' (RSA) to the list of known hosts.
Counting objects: 3, done.
Writing objects: 100% (3/3), 241 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:netpoint-dc/configurations.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.


А в репозитории Git — репозиторий с таким содержимым.

Наполнение репозитория файлами
Для решения данной задачи воспользуемся командой rsync:
mkdir -p /root/configurations/$(hostname)
rsync -av /etc /usr/local/etc /root/configurations/$(hostname)/

Если Вы отслеживаете большее количество каталогов, то их просто необходимо добавить в перечень отслеживаемых. После переноса файлов необходимо их добавить новые в Git:
find /root/configurations/* -exec git add {} \;
git commit -a -m «Configuration updated at $(date) from $(hostname)»

Загрузим файлы в удаленный репозиторий:
git push

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

Создание ветки конфигурации на дату
Создадим ветку с состоянием текущей конфигурации на данный день и загрузим его в репозиторий Git.
git checkout -b $(date +"%Y-%m-%d")
git push origin $(date +"%Y-%m-%d")

Собираем все вместе
Все вышеописанное объединим в один скрипт. Далее в листинге приведен простой вариант для понимания логики работы без лишних проверок, для реальных задач Вы можете захотеть изменить его для большей гибкости или включения дополнительных проверок.
#!/bin/bash

if [ "$#" -lt 2 ]
then
  echo "At least 2 or more parameters should be passed"
  echo "Usage: syncer.sh /path/to/repo /path/to/configs [/path/to/other/configs ...]"
  echo "--"
  echo "Avoid final slashes when specifying config directories if the intention is to"
  echo "have dir rather than dir contents"
  exit
fi

REPO_DIR=$1 # где хранится репозиторий
shift
DIRS=$@ # какие каталоги синхронизуем

echo "Repository is located at "$REPO_DIR
echo "Configuration dirs are located at "$DIRS

HOSTNAME=$(hostname)
TODAY=$(date +"%Y-%m-%d")
HOUR=$(date +"%H")

echo "Hostname is "$HOSTNAME
echo "Today is "$TODAY

cd $REPO_DIR

# выкачаем обновления с сервера
git pull
# переключимся на master ветку, куда добавляем изменения
git checkout master

mkdir -p $REPO_DIR/$HOSTNAME

# добавим новые файлы в репозиторий
rsync -av $DIRS $REPO_DIR/$HOSTNAME/
find $REPO_DIR/* -exec git add {} \;

# сохраним изменения
git commit -a -m "Configuration updated at $(date)"

# отправим изменения на сервер
git push

# если последняя синхронизация в сутках, создадим ветку для сегодняшнего дня
if [ $HOUR = "23" ];
then
  git checkout -b $TODAY
  git push origin $TODAY
  git checkout master
fi


Данный скрипт можно скачать или посмотреть с подсветкой синтаксиса на GitHub.
cd ~
wget https://raw.githubusercontent.com/netpoint-dc/configurations/master/syncer.sh
chmod 755 syncer.sh

Запуск скрипта осуществляется следующим образом:
bash /root/configurations/syncer.sh /root/configurations /etc /usr/local/etc

Для тестирования добавьте пользователя и выполните синхронизацию:
useradd testuser
bash /root/configurations/syncer.sh /root/configurations /etc /usr/local/etc

В репозитории должны быть соответствующие изменения. Теперь остается создать сценарий sync-configs в /etc/cron.hourly, выдать ему права 755 и убедиться в том, что он отрабатывает корректно:
#!/bin/bash
bash /root/configurations/syncer.sh /root/configurations /etc /usr/local/etc

Проверяем работоспособность:
chmod 755 /etc/cron.hourly/sync-configs
useradd testuser2
/etc/cron.hourly/sync-configs

В списке изменений в Git должно отразиться новое изменение.

Добавление файлов и каталогов в список исключения
Иногда Вы может захотеть не добавлять какие-то файлы в синхронизацию. Для этого Вам пригодится файл .gitignore, который Вы можете поместить в корень репозитория. В этом файле Вы можете перечислить каталоги, упрощенные регулярные выражения и файлы, которые не требуется сохранять на сервер. Подробнее о .gitignore можно прочитать в документации Git.

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

Таким же образом Вы можете осуществлять и работу со вторичными данными, например, списком установленных в системе пакетов. Например, для Debian, Ubuntu:
dpkg --get-selections > /opt/system-info/packages.lst


для последующего восстановления всех пакетов, отслеживать изменения пакетной базы данных. Обзор всех возможных вариантов использования выходит за рамки данной статьи, но является весьма широким. Git — очень удобный инструмент для решения подобных задач.

NB: в рамках этой обучающей статьи использовался публичный репозиторий Git на GitHub. Вы не должны сохранять свои конфигурации в публичный репозиторий. Используйте только репозитории, доступ к которым не предоставляется неавторизованным пользователям.