우분투 18.04 서버 nginx, php 7.2.x, mariadb 10.3.x 설치 스크립트

우분투 18.04 서버 환경에 nginx, php 7.2.x, mariadb 10.3.x 의 최신 버전 설치 스크립트이다. ufw 기본 방화벽설정 및 redis 서버도 추가 설치한다. #!/bin/bash # ======================================================================= # # nginx, php 7.2.x, mariadb 10.3.x install shell script for Ubuntu 18.04 # ======================================================================= # # Copyright (c) 2018 Seongho Jang https://ncube.net # This script is licensed under MIT […]

Read More

우분투 서버에서 uptime 체크 후 일정일 이상이면 자동 재부팅 스크립트

관리하는 서버가 많아지니 서버의 uptime 체크 후 재부팅하는 것도 일이다. 그래서 각 서버에서 cron 으로 uptime 체크 후 일정일 이상 경과했으면 보안패치 등을 적용하고 자동 재부팅하는 쉘스크립트를 작성했다. 실제 서버에 적용 전이라 오류를 확인해보진 않았다. 적용 후 오류가 발견된다면 코드를 수정할 예정이다. #!/bin/bash read -d. seconds < /proc/uptime # 10일 이상 경과 DATES=10 UPTIME=24*60*60*$DATES if […]

Read More

[쉘스크립트] 텍스트파일의 라인을 읽어 ip와 id 구분하기

텍스트 파일의 각 라인을 읽어 해당 라인에서 ip 와 id 를 구분해서 출력하는 코드이다. 텍스트의 파일은 아래와 같은 형식이다. ip 와 이름-id 는 탭으로 구분된 상태이다. 192.168.10.100 홍길동-gildong 192.168.10.101 김철수-kcs0297 쉘스크립트 코드는 아래와 같다. #!/bin/bash IPS=() IDS=() i=0 while IFS=” read -r line || [[ -n “$line” ]]; do IFS=$’\t’ tmp=($line) IPS[${i}]=${tmp[0]} str=${tmp[1]} IFS=$’-‘ tmp=($str) […]

Read More

[Linux] 계정 백업 스크립트

이 블로그를 운영하고 있는 서버에 cron을 이용한 백업 스크립트를 작성했다. 1주일한번 계정 자료를 풀백업하고 매일 증분 백업을 하기로 했다. DB는 매일 백업한다. 매일 일정 시간에 백업을 실행하기 위해서는 cron 서비스를 이용한다. 아래는 계정 풀백업과 증분백업 그리고 DB 백업을 실행하는 쉡스크립트이다. 직접 작성한 것은 아니고 인터넷을 검색해서 나에게 맞도록 수정했다. 1. 계정 풀백업 #!/bin/sh #이전 FullBackup […]

Read More