[Linux] Shell Script๋ฅผ ์ด์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ IP ์„ค์ •
ยท
Linux
ํ•„์š”ํ•œ ์ •๋ณด# ๋ฐ๋น„์•ˆ ๊ณ„์—ด์—์„œ ๋„คํŠธ์›Œํฌ ์„ค์ • ๋ฐฉ๋ฒ•18.04 LTS ๋ฒ„์ „๋ถ€ํ„ฐ netplan ํŒŒ์ผ ์„ค์ •์œผ๋กœ ๋ณ€๊ฒฝ# ํŽ˜๋„๋ผ ๊ณ„์—ด์—์„œ ๋„คํŠธ์›Œํฌ ์„ค์ • ๋ฐฉ๋ฒ•8 ๋ฒ„์ „๋ถ€ํ„ฐ nmcli ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ค์ •# ๋„คํŠธ์›Œํฌ IP ์„ค์ • ์‹œ ํ•„์š”ํ•œ ์ •๋ณด๋“คNetwork Interface NameIP/CIDRGatewayDNS์Šคํฌ๋ฆฝํŠธ#!/bin/bashostype=$(cat /etc/*releas | grep ID_LIKE | sed "s/ID_LIKE=//;s/\"//g")echo "=== Network Devices ==="ip a | grep '^[0-9]' | awk '{print $1" " $2}' | grep -v -e 'lo' -e 'v' -e 't'read -p "Please input network interface..
[Linux] Shell Script๋ฅผ ์ด์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋‹ค์šด๋กœ๋“œ
ยท
Linux
๋”๋ณด๊ธฐ๋”๋ณด๊ธฐ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์…ธ ์Šคํฌ๋ฆฝํŠธ ์ฑ… ์ฐธ๊ณ ํŒจํ‚ค์ง€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋‹ค์šด๋กœ๋“œํšŒ์‚ฌ ๋‚ด๋ถ€์— ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค๊ณ  ํ•จ. โžก๏ธ ์ธํ„ฐ๋„ท์ด ๋˜๋Š” DMZ ๊ตฌ๊ฐ„์˜ ์„œ๋ฒ„์—์„œ ์™ธ๋ถ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์™€ ๋‚ด๋ถ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•จ.ํ•„์š”ํ•œ ๋ช…๋ น์–ด# ํŒจํ‚ค์ง€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋™๊ธฐํ™” ๋ช…๋ น์–ดreposync# ๋””๋ ‰ํ† ๋ฆฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌํ™”ํ•˜๋Š” ๋ช…๋ น์–ดcreaterepo์Šคํฌ๋ฆฝํŠธ#!/bin/bashrepolist=$1repopath=/var/www/html/repo/osversion=$(cat /etc/redhat-release | awk '{print $(NF-1)}')if [[ -z $1 ]]then echo "Please input repository list. You can get repository from [yum re..
[Linux] Shell Script๋ฅผ ์ด์šฉํ•˜์—ฌ Timezone ์„ค์ •
ยท
Linux
๋”๋ณด๊ธฐ๋”๋ณด๊ธฐ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์…ธ ์Šคํฌ๋ฆฝํŠธ ์ฑ… ์ฐธ๊ณ ๋‹ค์ˆ˜์˜ ์„œ๋ฒ„์— Timezone ์„ค์ •ํ•„์š”ํ•œ ๋ช…๋ น์–ด# Timezone์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ดdatetimectl staus# Timezone์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ดdateimectl set-timezone์Šคํฌ๋ฆฝํŠธ#!/bin/bashservers="host01 host02 host03"cmd1="timedatectl status | grep 'Time zone'"cmd2="timedatectl set-timezone $1"if [[ -z $1 ]] || [[ -z $1 ]]then echo -e 'Please input timezone and password\nUsage: sh set-timezone.sh Seoul/Asia password'fifor s..
[Linux] Shell Script์„ ํ™œ์šฉํ•˜์—ฌ SSH ํ‚ค ๋ณต์‚ฌ
ยท
Linux
๋”๋ณด๊ธฐ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์…ธ ์Šคํฌ๋ฆฝํŠธ ์ฑ… ์ฐธ๊ณ ์ฑ…์—์„œ bash๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ sh๊ฐ€ ์•„๋‹Œ bash๋กœ ์‹คํ–‰์„œ๋ฒ„๊ฐ€ 1~2๋Œ€ ๋ผ๋ฉด ๊ดœ์ฐฎ์ง€๋งŒ 3๋Œ€ ์ด์ƒ์ด๋ฉด ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กœ์›Œ์ง„๋‹ค. ์ด๋•Œ shell script๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ssh ๊ณต๊ฐœ ํ‚ค๋ฅผ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค.ssh ํ‚ค๋ฅผ ๋ณต์‚ฌํ•˜๋ ค๋ฉด ssh ํ‚ค๋ฅผ ๋จผ์ € ์ƒ์„ฑํ•œ ํ›„ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ณต์‚ฌํ•ด์•ผ ํ•œ๋‹ค.์–ด๋–ค ๊ณ„์ •์œผ๋กœ ํ‚ค๋ฅผ ๋ณต์‚ฌํ• ์ง€ ์—ฌ๋ถ€์™€ ํ•ด๋‹น ๊ณ„์ •์˜ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.์Šคํฌ๋ฆฝํŠธ#!/bin/bash# ์ ‘์†ํ•  ์„œ๋ฒ„ ์ •๋ณด, SSH ํ‚ค ๊ฒฝ๋กœ, ๊ณต๊ฐœ ํ‚ค ๊ฒฝ๋กœ๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅservers="host01"sshKey="$HOME/.ssh/key.pem"sshPub="$HOME/.ssh/key.pem.pub"# SSH ํ‚ค ์ƒ์„ฑssh-keygen -q -N "" -f $ssh..
[Linux] Shell Script๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ณ„์ • ์ƒ์„ฑ
ยท
Linux
๋”๋ณด๊ธฐ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์…ธ ์Šคํฌ๋ฆฝํŠธ ์ฑ… ์ฐธ๊ณ ์ฑ…์—์„œ bash ๋ฌธ๋ฒ•์„ ๋”ฐ๋ฅด๊ณ  ์žˆ์–ด์„œ bash ๋ช…๋ น์–ด๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰์‚ฌ์šฉ์ž ๊ณ„์ •์„ ๋งŒ๋“ค ๋•Œ๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ#!/bin/bashif [[ -n $1 ]] && [[ -n $2 ]]then UserList=($1) Password=($2) for (( i=0; i ~$ bash adduser-script.sh lucy 1234this user lucy is existing.~$ bash adduser-script.sh sabio tori 1234 1234useradd: Permission denied.useradd: cannot lock /etc/passwd; try again later.[sudo] p..
[Linux] Shell Script ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์ •๊ทœ ํ‘œํ˜„์‹
ยท
Linux
๋”๋ณด๊ธฐ๋”๋ณด๊ธฐ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์…ธ ์Šคํฌ๋ฆฝํŠธ ์ฑ… ์ฐธ๊ณ ์ •๊ทœ ํ‘œํ˜„์‹POSIX ๊ธฐ๋ณธ ๋ฐ ํ™•์žฅ ๋ฌธ๋ฒ•์ •๊ทœ ํ‘œํ˜„์‹ โžก๏ธ ์ผ์น˜ํ•˜๋Š” ํ…์ŠคํŠธ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ํŒจํ„ด์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํŠน์ • ํ‘œ์ค€ ํ…์ŠคํŠธ์˜ ๋ฌธ๋ฒ•์„ ์˜๋ฏธ.ํŒจํ„ด์„ ๊ธฐ์ˆ ํ•˜๋Š” ๋ฌธ์ž์—ด ๋‚ด์˜ ๊ฐ ๋ฌธ์ž๋“ค์€ ๋ฉ”ํƒ€ ๋ฌธ์ž๋‚˜ ์ •๊ทœ ๋ฌธ์ž๋กœ ์ดํ•ด๋จ.๋ฉ”ํƒ€ ๋ฌธ์ž์„ค๋ช….๋‰ด๋ผ์ธ์„ ์ œ์™ธํ•œ ํ•œ ๊ฐœ์˜ ๋ฌธ์ž์™€ ์ผ์น˜.?์ž์‹  ์•ž์— ๋‚˜์˜ค๋Š” ์ •๊ทœ ํ‘œํ˜„์‹์ด ์—†๊ฑฐ๋‚˜ ํ•˜๋‚˜๊ฐ€ ์ผ์น˜ํ•˜๋ฉฐ, ๋Œ€๋ถ€๋ถ„ ํ•œ ๊ฐœ์˜ ๋ฌธ์ž์™€ ๋งค์นญํ•  ๋•Œ ์‚ฌ์šฉ.*๋ฐ”๋กœ ์•ž ๋ฌธ์ž์—ด์ด๋‚˜ ์ •๊ทœ ํ‘œํ˜„์‹์—์„œ ํ•œ ๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ž๋ฅผ ์˜๋ฏธ.+์ž์‹  ์•ž์— ๋‚˜์˜ค๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์ •๊ทœ ํ‘œํ˜„์‹๊ณผ ์ผ์น˜. *๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๋™์ž‘ํ•˜์ง€๋งŒ ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜ ์ด์ƒ์ผ ๊ฒฝ์šฐ์—๋งŒ ์ผ์น˜.{N}์ •ํ™•ํžˆ N๋ฒˆ ์ผ์น˜.{N,}N๋ฒˆ ๋˜๋Š” ๊ทธ ์ด์ƒ ์ผ์น˜.{N, M}์ ์–ด๋„ N๋ฒˆ ์ผ์น˜ํ•˜์ง€๋งŒ, M๋ฒˆ ์ผ์น˜๋ฅผ ๋„˜์ง€ ์•Š..