User Tools

Site Tools


средства_программирования_shell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
средства_программирования_shell [2023/01/09 12:41]
val [Web сервер на shell]
средства_программирования_shell [2023/01/28 17:33]
val [Web сервер на shell]
Line 392: Line 392:
  
 read request read request
-##echo "​$request"​ >> $log       # ​not work with keepalived+##echo "​$request"​ >> $log       # ​for educational demonstration
  
 filename="​${request#​GET }" filename="​${request#​GET }"
Line 404: Line 404:
 do do
   read -r header   read -r header
-##  echo "​$header"​ >> $log       # ​not work with keepalived+##  echo "​$header"​ >> $log       # ​for educational demonstration
   [ "​$header"​ == $'​\r'​ ] && break;   [ "​$header"​ == $'​\r'​ ] && break;
 +##  [ "​$header"​ == $''​ ] && break; ​   # for STDIN/​STDOUT educational demonstration
 done done
  
Line 460: Line 461:
  
 ==== Использование диалоговых окон ==== ==== Использование диалоговых окон ====
 +
 +<​code>​
 +ansible-pull-gpo#​ cat start.sh
 +</​code><​code>​
 +#!/bin/bash
 +
 +on_off() {
 +        grep -q "​$1"​ "​$2"​ && echo ON || echo OFF
 +}
 +
 +if [ -z ${BR+x} ]; then echo -e "​Variable BR (branch) is not set, specify, for example\nexport BR=master";​ exit 1; fi
 +
 +apt update || exit 0
 +
 +apt install dialog ansible git -y
 +
 +GP_OP_FILE=/​usr/​local/​etc/​gpo_options.yml
 +GP_EX_FILE=/​usr/​local/​bin/​ansible-pull-gpo.sh
 +
 +TEMP_FILE=$(mktemp -t '​XXXX'​)
 +
 +touch "​$GP_OP_FILE"​
 +
 +dialog ​ --title "​Configurations,​ Roles and Programs" ​ --clear --nocancel\
 +        --checklist "​Choose Options"​ 19 56 15 \
 +        CONF_RUS_INT:​ "​Russian Interface"​ "​$(on_off CONF_RUS_INT "​$GP_OP_FILE"​)"​ \
 +        PROG_THBIRD:​ "Mail client Thunderbird"​ "​$(on_off PROG_THBIRD "​$GP_OP_FILE"​)"​ \
 +        ROLE_ZAB_AG:​ "​Zabbix Agent" "​$(on_off ROLE_ZAB_AG "​$GP_OP_FILE"​)"​ \
 +        ROLE_OVPN_CL:​ "​OpenVPN Client"​ "​$(on_off ROLE_OVPN_CL "​$GP_OP_FILE"​)"​ \
 +2>"​$TEMP_FILE"​
 +
 +< "​$TEMP_FILE"​ tr " " "​\n"​ > "​$GP_OP_FILE"​
 +
 +rm "​$TEMP_FILE"​
 +
 +echo -e "​\nEND:"​ >> "​$GP_OP_FILE"​
 +
 +echo "/​usr/​bin/​ansible-pull -U http://​server.corpX.un/​student/​ansible-pull-gpo.git -C $BR -e @$GP_OP_FILE"​ > "​$GP_EX_FILE"​
 +
 +chmod +x "​$GP_EX_FILE"​
 +
 +##exit 0
 +
 +echo -e "0 */2 * * * sleep \${RANDOM:​0:​2}m;​ $GP_EX_FILE\n@reboot sleep 3m; $GP_EX_FILE"​ | crontab -
 +
 +"​$GP_EX_FILE"​
 +
 +#apt upgrade -y
 +
 +#reboot
 +</​code>​
  
 === Использование программы whiptail (Linux) === === Использование программы whiptail (Linux) ===
средства_программирования_shell.txt · Last modified: 2024/05/10 17:17 by val