โœ… ๊ณต์‹๋ฌธ์„œ

https://helpdesk.dooray.com/share/pages/9wWo-xwiR66BO5LGshgVTg/2939987647631384419

 

๐Ÿ“ ๋ชฉ์ฐจ

  1. ๊ณผ์ œ ๋‚ด์šฉ
  2. ํ”„๋กœ์„ธ์Šค
  3. ์ฃผ์š” ๋ช…๋ น์–ด
  4. ์ฝ”๋“œ
  5. ๊ฒฐ๊ณผ

 

๊ณผ์ œ ๋‚ด์šฉ

  • ํŠน์ • ๋‘๋ ˆ์ด ํ”„๋กœ์ ํŠธ์— ์ผ์ผ ์Šคํฌ๋Ÿผ ํƒœ์Šคํฌ๋ฅผ ์ž๋™ ๋“ฑ๋กํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ
    • ์ผ์ผ ํƒœ์Šคํฌ ์ƒ์„ฑ: [2023/01/10 (ํ™”) ์ผ์ผ ์Šคํฌ๋Ÿผ] ๋“ฑ ์ผ์ผ ์Šคํฌ๋Ÿผ ํƒœ์Šคํฌ๋ฅผ 1์ฃผ์ผ ์ „ ๋งค์ผ ์ž๋™ ์ƒ์„ฑ
    • ์ฃผ๊ฐ„ ํƒœ์Šคํฌ ์ƒ์„ฑ: 2023/01/10(ํ™”) ๋ฐ์ดํ„ฐ์šด์˜ํŒ€ ์ฃผ๊ฐ„ ์—…๋ฌด ํšŒ์˜ ์˜ ์ฃผ๊ฐ„ ํšŒ์˜ ํƒœ์Šคํฌ๋Š” ๋‹ค์Œ์ฃผ ํšŒ์˜ ํƒœ์Šคํฌ ์ž๋™ ์ƒ์„ฑ

 

ํ”„๋กœ์„ธ์Šค

๊ฐœ๋ฐœํ™˜๊ฒฝ

  • macOS Monterey
  • intel 7i / x86_64

 

๋„์‹ํ™”

  • ์ƒ์œ„ ์—…๋ฌด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ
    • ์—†์œผ๋ฉด ์—ฐ ๋˜๋Š” ์›” ๋‹จ์œ„์˜ ์ƒ์œ„ ์—…๋ฌด ์ƒ์„ฑ
  • ํ•ด๋‹น ์ผ์— ์—…๋ฌด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ (์ˆ˜๋™์œผ๋กœ ๋“ฑ๋ก๋œ ๊ฒƒ์ด ์žˆ๋Š”์ง€ ํ™•์ธ ์ฐจ์›)
    • ์—†์œผ๋ฉด ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋“ฑ๋ก๋œ ์ผ์ผ ์—…๋ฌด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ
      • ์žˆ๋‹ค๋ฉด ๊ฐ€์žฅ ์ตœ๊ทผ ์ผ์ผ ์—…๋ฌด ์ƒํƒœ-์™„๋ฃŒ/๋งŒ๊ธฐ์ผ-๋ฏธ์ • ์„ค์ •
  • ํ•˜์œ„ ์—…๋ฌด ์ƒ์„ฑ
  • ์  ํ‚จ์Šค์—์„œ ์„ค์ •ํ•œ ๋‘๋ ˆ์ด ๋Œ€ํ™”๋ฐฉ์— ๋ฉ”์‹œ์ง€ ์•Œ๋ฆผ

 

์„ธ๋ถ€์‚ฌํ•ญ

  • ์ƒ์œ„ ์—…๋ฌด์— ํ•˜์œ„ ์—…๋ฌด๋กœ ๋“ฑ๋ก๋จ
  • ํƒœ๊ทธ : ์ง€์ •ํ•œ ํƒœ๊ทธ๋ช…
  • ๋‚ ์งœ : ์ƒ์„ฑ๋  ๋•Œ ์ผ์ฃผ์ผ ํ›„ ๋‚ ์งœ๋กœ ์ž๋™ ์ƒ์„ฑ๋จ
  • ๋‹ด๋‹น์ž : ๋ณธ์ธ (๊ทธ๋ฃน์œผ๋กœ๋„ ๊ฐ€๋Šฅ)
  • ์‹คํ–‰ : ์  ํ‚จ์Šค ์‚ฌ์šฉ
    • ์ผ์ผ ์Šคํฌ๋Ÿผ : ํ‰์ผ 9์‹œ๋งˆ๋‹ค ๋นŒ๋“œ
    • ์ฃผ๊ฐ„์—…๋ฌดํšŒ์˜ : ํ™”์š”์ผ 9์‹œ๋งˆ๋‹ค ๋นŒ๋“œ

 

์ฃผ์š” ๋ช…๋ น์–ด

curl

  • ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด URL๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ด์„œ ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ฑฐ๋‚˜ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด
  • Shell์—์„œ REST API(http) ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ
  • ์ง€์›ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ : http / https / ftp / ldap / scp / telnet / smtp / pop3 ๋“ฑ
  • Linux/mac OS : ๊ธฐ๋ณธ ํƒ‘์žฌ
  • ์‚ฌ์šฉํ•œ ์˜ต์…˜
    • -d : http POST ์š”์ฒญ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ
    • -s : ์ง„ํ–‰ ๋‚ด์šฉ์ด๋‚˜ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ ์•ˆ๋˜๊ฒŒ
    • -X : ์š”์ฒญ์‹œ ์‚ฌ์šฉํ•  ๋ฉ”์†Œ๋“œ ์ข…๋ฅ˜
    • -H : ์ „์†กํ•  ํ—ค๋” ์ง€์ •



date

  • ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„์„ ๋‹ค์–‘ํ•œ ํฌ๋งท์œผ๋กœ ์ถœ๋ ฅํ•˜๊ณ , ๊ณ„์‚ฐํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด
  • macOS์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ
    • macOS๋Š” date ๋ช…๋ น์–ด์— -d ์˜ต์…˜์ด ์ ์šฉ๋˜์ง€ ์•Š์Œ
    • ํฌ๋งท : -v[-(๊ณผ๊ฑฐ)/+(๋ฏธ๋ž˜)][์ผ์ˆ˜]d
# ์˜ค๋Š˜๋กœ๋ถ€ํ„ฐ 7์ผ ๋’ค yyyy/mm/dd ํ˜•์‹
date -v+7d +%Y/%m/%d

# ์˜ค๋Š˜๋กœ๋ถ€ํ„ฐ 7์ผ ๋’ค ์š”์ผ ํ˜•์‹
date -v+7d +%A  # ์ˆ˜์š”์ผ
date -v+7d +%a  # ์ˆ˜



jq

  • Shell์—์„œ JSON์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • ์‚ฌ์šฉํ•œ ์˜ต์…˜
    • -r : ๊ฒฐ๊ณผ๊ฐ’์— ๋”ฐ์˜ดํ‘œ ์ œ๊ฑฐํ•ด์„œ raw ๊ฐ’ ๋ฐ›๊ธฐ
  • ์„ค์น˜
# macOS
brew install jq



crontab

  • Linux์—์„œ ์ผ์ • ์ฃผ๊ธฐ๋‚˜ ํŠน์ • ์‹œ๊ฐ„์— ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด (์Šค์ผ€์ค„๋Ÿฌ)
# crontab ์ž‘์„ฑ
crontab -e

# crontab ์ž‘์—… ๋ฆฌ์ŠคํŠธ ๋ณด๊ธฐ
crontab -l

# crontab ๋ชจ๋“  ์ž‘์—… ์‚ญ์ œ
crontab -r

# ๋งค์ฃผ ์ผ์š”์ผ 23์‹œ 55๋ถ„์— ์ˆ˜ํ–‰
55 23 * * 0 ํŒŒ์ผ ์ €์žฅ๋œ ์œ„์น˜ >> ๋กœ๊ทธ ์ €์žฅํ•  ์œ„์น˜

# ๋งค์ฃผ ์›”-๊ธˆ์š”์ผ 23์‹œ 55-59๋ถ„์— ์ˆ˜ํ–‰
55-59 23 * * 1-5 ํŒŒ์ผ ์ €์žฅ๋œ ์œ„์น˜ >> ๋กœ๊ทธ ์ €์žฅํ•  ์œ„์น˜

 

์ฝ”๋“œ

  • ๋ณ€์ˆ˜

 

  • ๋กœ์ง
  • ์ƒ์œ„ ์—…๋ฌด ์œ ๋ฌด ํ™•์ธ
    • ์—†์œผ๋ฉด ์ƒ์œ„ ์—…๋ฌด ์ƒ์„ฑ

 

  • ํ•˜์œ„ ์—…๋ฌด ์œ ๋ฌด ํ™•์ธ
    • ์žˆ์œผ๋ฉด ์ข…๋ฃŒ

 

  • ์—†์œผ๋ฉด ๊ฐ€์žฅ ์ตœ๊ทผ ์ผ์ผ ์—…๋ฌด ํ™•์ธ ํ›„ ์ƒํƒœ-์™„๋ฃŒ ๋ฐ ๋งŒ๊ธฐ์ผ-๋ฏธ์ • ์„ค์ •

 

  • ํ•˜์œ„ ์—…๋ฌด ์ƒ์„ฑ

 

๊ฒฐ๊ณผ

  • ์„ฑ๊ณต ํ™”๋ฉด (์—ฐ ๋‹จ์œ„)
  • ์„ฑ๊ณต ํ™”๋ฉด (์›” ๋‹จ์œ„)

 

  • ์ด๋ฏธ ํ•ด๋‹น ์ผ์˜ ์—…๋ฌด๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ


๊ณ ๋ คํ•œ ์‚ฌํ•ญ

  1. ์ƒ์œ„ ์—…๋ฌด๊ฐ€ ์—ฐ ๋˜๋Š” ์›” ๋‹จ์œ„๋ฅผ ์„ ํƒํ•˜์—ฌ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„
    → ์—ฐ๋„๋‚˜ ์›”์ด ๋ฐ”๋€Œ๋”๋ผ๋„ ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ์ƒ์œ„ ์—…๋ฌด๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์ˆ˜์ž‘์—…์ด ํ•„์š”ํ•˜์ง€ ์•Š๋„๋ก ๊ตฌํ˜„
  2. ๋งŒ๊ธฐ์ผ(์—†์Œ/๋ฏธ์ •/์žˆ์Œ) ์„ค์ •
    → ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์—…๋ฌด๋ฅผ ์—…๋ฌด์ƒํƒœ๋ฅผ ์™„๋ฃŒ๋กœ ๋ฐ”๊ฟ€ ๊ฒฝ์šฐ : ๋งŒ๊ธฐ์ผ์ด ์„ค์ •๋˜์–ด ์บ˜๋ฆฐ๋”์— ๋‚˜์˜ค๊ฒŒ ๋จ
    → ์—…๋ฌด๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ• ๋•Œ dueDateFlag: false ๋กœ ํ•  ๊ฒฝ์šฐ, ๋งŒ๊ธฐ์ผ์ด ์—†์Œ ์ƒํƒœ๊ฐ€ ๋จ
    → ํŠน์ด์‚ฌํ•ญ 1 : ์—…๋ฌด์ƒํƒœ(ํ• ์ผ/์ง„ํ–‰์ค‘/์™„๋ฃŒ) ์†์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ
    → ํŠน์ด์‚ฌํ•ญ 2 : dueDateFlag๋ฅผ true๋กœ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ๋ฅผ ๊ถŒ์žฅ
  3. ํฌ๋ก ํƒญ๋งŒ ์‚ฌ์šฉํ–ˆ์„ ๊ฒฝ์šฐ, ๋นŒ๋“œ๊ฐ€ ์‹คํŒจํ•œ ๊ฒฝ์šฐ์— ์žฌ์‹คํ–‰ ๋“ฑ์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ฐ€ ์‰ฝ์ง€ ์•Š์Œ
    → ์  ํ‚จ์Šค์—์„œ ๋‘๋ ˆ์ด์™€ ์—ฐ๋™๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•ด ๋นŒ๋“œ ์‹คํŒจ์‹œ ์žฌ์‹œ๋„ ํšŸ์ˆ˜๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋‹ค์‹œ ๋นŒ๋“œ๋˜๋„๋ก ์„ค์ •
  4. ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฅผ ๋‘๋ ˆ์ด ๋ฉ”์‹œ์ง€ ์•Œ๋ฆผ
    → ๋‘๋ ˆ์ด ๋Œ€ํ™”๋ฐฉ ๋‹จ์œ„๋กœ ๋ฉ”์‹œ์ง€ ๊ฐ€๋Šฅ

 

๋ณด์™„์ด ํ•„์š”ํ•œ ์‚ฌํ•ญ

  1. ์ƒ์œ„ ์—…๋ฌด ์ƒ์„ฑ์‹œ ํ•˜์œ„ ์—…๋ฌด๊ฐ€ ๋ฐ”๋กœ ๋“ฑ๋ก๋˜์ง€ ์•Š๋Š” ์ 
    → ๋™์‹œ์„ฑ ๋ฌธ์ œ์ธ๊ฐ€ ์‹ถ์–ด wait๋ฅผ ๊ฑธ์–ด๋ดค๋Š”๋ฐ ๋˜์ง€ ์•Š์•„์„œ ์ข€ ๋” ํ™•์ธ ํ•„์š”
  2. ์ƒ์œ„ ์—…๋ฌด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ํƒœ๊ทธ๋„ ํ•จ๊ป˜ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๋„๋ก (ํ˜„์žฌ๋Š” ํƒœ๊ทธ๊ฐ€ ๋งŒ๋“ค์–ด์ ธ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •๋˜์–ด ์žˆ์Œ)
    → 'application/x-www-form-urlencoded' not supported ์—๋Ÿฌ ํ™•์ธ ํ•„์š”
  3. ์  ํ‚จ์Šค๋ด‡ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ ์„ค์ •์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธ
    → ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ข€ ๋” ํ™•์ธ ํ•„์š”

+ Recent posts