[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] ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰ 2์ฐจ ์ •๋ฆฌ (6)
ยท
Linux
์‰˜ ์ข…๋ฅ˜๋ณธ์‰˜ ๊ณ„์—ด๊ณผ C์‰˜ ๊ณ„์—ด๋กœ ๋‚˜๋‰จ.์‚ฌ์šฉ์ž ํ”„๋กฌํ”„ํŠธ๊ฐ€ $์ด๋ฉด ๋ณธ์‰˜ ๊ณ„์—ด, %์ด๋ฉด C์‰˜ ๊ณ„์—ด์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ.C์‰˜์€ ๋ณธ์‰˜์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ๊ณผ ๋ช…๋ น์–ด ํžˆ์Šคํ† ๋ฆฌ, alias, ์ž‘์—… ์ œ์–ด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€๋กœ ๊ฐ€์ง.๋ณธ์‰˜ (Bourne Shell)์ข…๋ฅ˜์‹คํ–‰ ํŒŒ์ผํŠน์ง•๋ณธ์‰˜/bin/sh๋ฒจ ์—ฐ๊ตฌ์†Œ์˜ ์Šคํ‹ฐ๋ธ ๋ณธ์ด 1979๋…„์— ๊ฐœ๋ฐœ์œ ๋‹‰์Šค์—์„œ ๊ธฐ๋ณธ ์‰˜๋กœ ์‚ฌ์šฉ์ฝ˜์‰˜(korn shell)/bin/kshAT&T์‚ฌ์˜ ๋ฐ์ด๋น„๋“œ ์ฝ˜์ด 1986๋…„์— ๊ฐœ๋ฐœ๋ฒจ ์—ฐ๊ตฌ์†Œ์—์„œ ๋ณธ์‰˜์„ ํ™•์žฅํ•ด์„œ ๋งŒ๋“ฆ๋ช…๋ น์–ด ์™„์„ฑ ๊ธฐ๋Šฅ, ํžˆ์Šคํ† ๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง๋ฐฐ์‰ฌ์‰˜(bash shell)/bin/bash๋ธŒ๋ผ์ด์–ธ ํญ์Šค๊ฐ€ 1989๋…„์— ๊ฐœ๋ฐœ๋ณธ์‰˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ GNU ํ”„๋กœ์ ํŠธ์— ์˜ํ•ด ๊ฐœ๋ฐœLinux ํ‘œ์ค€ ์‰˜๋กœ ์ฑ„ํƒ๋ฆฌ๋ˆ…์Šค, ๋งฅOS X ๋“ฑ ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉ๋ช…๋ น์–ด ์™„์„ฑ ๊ธฐ๋Šฅ, ํžˆ์Šคํ† ๋ฆฌ, ๋ช…๋ น์–ด..