юморной скрипт, Почти юмор )) |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
юморной скрипт, Почти юмор )) |
Gecko
|
17.4.2022, 21:00
Сообщение
|
|
|
Я любитель bash, часто всю рутину я стараюсь выполнять скриптами, я даже ftp/sftp/rsync уже давно юзаю скриптом. Сегодня один мой хороший знакомый написал мне в телегу что нужно сделать так, чтобы боты на его сервере включались на ночь а выключались утром.
Раньше подобная задача умещалась в 1-2 строки, но сегодня меня задело (может из-за того что уже и забыл когда в последний раз играл в cs Суть задачи ![]() 1-2 строки кода внезапно стали этим:
csbot.zip ( 1,01 килобайт )
Кол-во скачиваний: 16![]() csbot.sh Код #!/bin/bash METAMOD=/opt/hlds/27015/cstrike/addons/metamod FILE1=plugins.ini CSBOT=/usr/bin/csbot # Color normal=$(echo "\033[m") lightred=$(echo "\e[91m") green=$(echo "\033[0;32m") if [ "$(whoami)" != 'root' ]; then clear printf "\n" printf " You have no permission to run \"sudo $0\" or sudo -i" printf "\n\n" exit 1; fi if [[ ! -f "${METAMOD}/${FILE1}" ]]; then clear printf "\n" printf " File \"${FILE1}\" not exist" printf "\n\n" exit fi if [[ ! -f "${CSBOT}" ]]; then ln -sf ${PWD}/$(basename $BASH_SOURCE) ${CSBOT} >/dev/null 2>&1 fi main() { logo cat <<"EOF" +----------------------------------------+ | instruction: csbot [command] | +-----------+----------------------------+ | command | description | +-----------+----------------------------+ | start | enable bots | +-----------+----------------------------+ | stop | disable bots | +-----------+----------------------------+ | edit | edit plugins.ini | +-----------+----------------------------+ EOF printf "\n" var=$(grep -iRls ";linux[[:space:]]*addons/yapb/bin/yapb.so[[:space:]]*" "${METAMOD}/${FILE1}") if [[ "${var}" != "" ]]; then printf " [ csbot_tatus: ${lightred}Off${normal} ]" printf "\n\n" else printf " [ csbot_tatus: ${green}On${normal} ]" printf "\n\n" fi } logo() { clear printf "\n" cat <<"EOF" ??????? ???????? ??????? ??????? ????????? ???????? ???????? ???????? ????????? ????????? ??? ???????? ???????? ??? ??? ??? ??? ???????? ???????? ??? ??? ??? ???????? ???????? ???????? ????????? ??? ??????? ???????? ??????? ??????? ??? EOF } start() { cd ${METAMOD} sed -i 's/^;linux[[:space:]]*addons\/yapb\/bin\/yapb.so/linux addons\/yapb\/bin\/yapb.so/g' ${FILE1} >/dev/null 2>&1 main printf "\n" } stop() { cd ${METAMOD} sed -i 's/^linux[[:space:]]*addons\/yapb\/bin\/yapb.so/;linux addons\/yapb\/bin\/yapb.so/g' ${FILE1} >/dev/null 2>&1 main printf "\n" } edit(){ if [[ ! -f "/usr/bin/mc" ]]; then clear printf "\n" printf " \"Midnight Commander\" not found" printf " Please install \"Midnight Commander\"" printf "\n\n" exit fi mcedit ${METAMOD}/${FILE1} main } case "$1" in start) start ;; stop) stop ;; edit) edit ;; *) main exit 1 esac exit 0 После первого запуска скрипта ./csbot.sh его можно будет запускать так: Цитата csbot start | stop | edit по умолчанию выводит окно команд и статус модуля yapb.so Скрипт проверяет строку в файле cstrike/addons/metamod/plugins.ini на наличие у строки комментария ";". Таким образом скрипт выводит статус определённого модуля On и Off Задание в crontab: Код crontab -e и добавляем 2 задания, первая задача активирует модуль yapb.so (включает ботов) а вторая задача модуль вырубает. естественно ждём смены карты чтобы изменения вступили в силу. Цитата 00 23 * * * csbot start 00 11 * * * csbot stop команда Код csbot edit откроет файл cstrike/addons/metamod/plugins.ini на редактированиеСкрипт простой и его можно легко поправить если кому нужно под подобные задачи.
Отредактировал: Gecko, - 17.4.2022, 21:08
![]() Не отвечаю на ЛС.
|
Поблагодарили 2 раз
|
|
XyLiGaN
|
17.4.2022, 23:21
Сообщение
|
|
|
|
Поблагодарили 1 раз
|
|
Gecko
|
18.4.2022, 19:01
Сообщение
|
|
|
На всякий случай, вот отдельный файл скрипта.
Будет работать с такими строками: Код ;linux addons/yapb/bin/yapb.so ;; linux addons/yapb/bin/yapb.so ;;; ; ;;; linux addons/yapb/bin/yapb.so ;;; ; ;;; linux addons/yapb/bin/yapb.so То есть, с учётом табуляции и пробелов. Воспринимайте этот файл как концептуальное решение по одному конкретному функционалу, работа с конфигурационными файлами отключение/включение плагинов. Его очень легко изменить под себя либо дополнить им свой скрипт. Чтобы название топика не вводило в заблуждение, смешной потому что по аналогии можно создать скрипт в 200 строк к примеру по выключению сервера, то есть в место Код shutdown -r now городить огород с интерфейсом в 200 строк по этому, просьба воспринимать это как творческий юмор, конечно с реальным функционалом который может быть полезен в виде функции.
csbot.zip ( 1,02 килобайт )
Кол-во скачиваний: 15![]() Не отвечаю на ЛС.
|
|
|
|
![]() ![]() |