Найти в Дзене
Сисадмин

Каталогизация bash-скриптов для сисадмина

Если у тебя на сервере больше двух bash-скриптов, а серверов тысячи, то ты уже не человек, а археолог. Каждый новый .sh рождается в муках, кидается куда попало, и через месяц ты уже не знаешь: это у тебя «backup.sh» или «скрипт, который в 3 часа ночи внезапно удаляет весь /var/log ради освобождения диска». И вот наступает момент — твои скрипты начинают жить собственной жизнью. Один запускается из cron и жрет CPU, другой почему-то шлёт почту твоему начальнику с темой «ALL IS OK», хотя всё горит, а третий внезапно превращает сервер в тыкву, потому что для снапика места не хватило. Допустим у тебя нет проблем с мониторингом, но тебе точно нужен софт для каталогизации. Иначе ты сойдешь с ума и начнёшь запускать команды из головы, как шаман в бреду. Если у тебя уже есть Nextcloud, то это почти идеальный вариант: И всё — твой личный «GitHub без гитхаба». Можно даже расшарить коллегам, если хочешь, чтобы они тоже страдали. Это такие дашборды для всего подряд. Делается как портал: Файловые хра
Оглавление
Каталогизация bash-скриптов
Каталогизация bash-скриптов

Если у тебя на сервере больше двух bash-скриптов, а серверов тысячи, то ты уже не человек, а археолог. Каждый новый .sh рождается в муках, кидается куда попало, и через месяц ты уже не знаешь: это у тебя «backup.sh» или «скрипт, который в 3 часа ночи внезапно удаляет весь /var/log ради освобождения диска».

И вот наступает момент — твои скрипты начинают жить собственной жизнью. Один запускается из cron и жрет CPU, другой почему-то шлёт почту твоему начальнику с темой «ALL IS OK», хотя всё горит, а третий внезапно превращает сервер в тыкву, потому что для снапика места не хватило.

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

Nextcloud + Text/Notes + Tags

Если у тебя уже есть Nextcloud, то это почти идеальный вариант:

  • кидаешь скрипты в одну папку,
  • ставишь плагин Text или Notes для описаний,
  • навешиваешь теги (например, «удаляет», «костыль», «проверено в бою»).

И всё — твой личный «GitHub без гитхаба». Можно даже расшарить коллегам, если хочешь, чтобы они тоже страдали.

Organizr или Heimdall

Это такие дашборды для всего подряд. Делается как портал:

  • каждая плитка — твой скрипт,
  • можно кликнуть и запустить его через вебхуки или Ansible.

    Красиво, удобно, сразу чувствуешь себя CTO корпорации, хотя по факту у тебя три сервера и куча скриптов с названиями «fix.sh» и «fix2.sh».

Seafile или Pydio

Файловые хранилища с нормальным веб-интерфейсом. Кидаешь туда свои .sh, описываешь их в вики или комментариях — и у тебя библиотека как у Гарри Поттера, только вместо заклинаний у тебя «убей все процессы» и «почини postfix».

WikiJS

Если хочется прям структурировать и описывать:

  • заводишь вики,
  • каждая страница = один скрипт,
  • вставляешь сам код и инструкции.

    Идеально, если ты админ-педант, которого тошнит от бардака. А ещё можно сделать себе «Каталог костылей имени тебя» и выдавать гостевой доступ новичкам.

Gitea или Forgejo

Лёгкий GitHub-клон, который ставится за 5 минут. Там будет:

  • хранение всех скриптов в репах,
  • поиск по коду,
  • документация через README,
  • нормальные diff’ы, если начнёшь апгрейдить свои костыли.

Если ещё прикрутишь CI/CD — сможешь запускать свои скрипты через пуш, а не через зубы.

Chezmoi — как Git, но у тебя дома

Удобно хранить скрипты так, чтобы потом не бегать с флешкой, как с реликвией. Ты кидаешь всё в репозиторий, разворачиваешь на новом сервере и орешь: «Да будет админство!».

Ставишь его — и у тебя скрипты синхронизируются, как грехи за тобой. В некоторых моментах похож на Syncthing.

Bashhub — портал в адский рай

Представь GitHub, но для твоих локальных скриптов. Всё, что ты писал в консоли, оно помнит. Вечный дневник твоих грехов. Даже то, что ты вводил в пьяном угаре в три утра:

С bashhub не надо больше чесать репу и думать: «А где у меня был этот скрипт для массового убийства зомби-процессов?» Оно просто берёт и даёт.

Organize — знает, что ты не знаешь

Это утилита для раскладывания файлов по папкам по правилам. Настроил её так: «все файлы, содержащие слово backup → папка /backups». И вуаля — твой бардак из 3000 скриптов превращается в стройный кладбищенский порядок.

Сисадмин без каталогизации скриптов — как орк без топора. Да, жить можно, но выглядит жалко. Поставь себе хоть что-то из этого списка. Или хотя бы сделай папку ~/scripts, перестань называть файлы script1.sh, script2.sh и начни писать комменты внутри кода, а не «# хз зачем, но пусть будет».

В конце концов, помни главное: твои скрипты — это твой боевой инвентарь, который надо "прокачивать". А чем пользуетесь Вы? Напишите в комментариях.