본문 바로가기

오라클 클라우드28

shell script로 mysql db 주기적으로 백업 로컬에 설치한 mysql db 백업 쉘 스크립트 작성 #!/bin/bash # 이 파일명: db_backup.sh # 백업할 디렉토리 2개 생성 # 1. mkdir /home/ubuntu/backup # 2. mkdir /home/ubuntu/backup/db cd /home/ubuntu/db_backup DATE_YYYYMMDDHHMMSS=`date '+%Y%m%d%H%M%S'` dailysql=$DATE_YYYYMMDDHHMMSS'_daily.sql' password='[mysql root 비번]' echo "mysql dailysql dump start.." # 특정 데이터베이스 백업 mysqldump -uroot -p$password --single-transaction db이름 > ./db/$d.. 2023. 3. 5.
nginx에서 post request를 다른 url 의 post로 보내기 사이트 개편으로 도메인이 변경되거나 api url의 디렉토리 구조가 바뀌었을 때, 기존의 post 요청에 대해, request body 데이터를 모두 다시 보내는 방법. rewrite 나 307로 하지말고 아래와 같이 하면 됨. 기존 api - /some-api 바뀐 api - /api/some-api 처럼, /api 디렉토리 구조가 바뀌었고, body 데이터를 그대로 보내줘야할 경우 아래와 같이 하면 됨 location /some-api { proxy_pass https://new-domain/api/some-api; proxy_method POST; proxy_set_header Content-Type $content_type; proxy_set_body $request_body; } 2023. 1. 30.
용량 큰 폴더 파일 찾기 우분투 하위 depth 지정하여 용량 큰 폴더 찾기 (빠른 방법) sudo du -h --max-depth=1 | sort -hr 전체 폴더 찾기 (시간 걸림) sudo du -ahx . | sort -rh | head -20 특정 용량 이상의 파일 찾기 (시간 걸림) sudo find . -xdev -type f -size +100M 2022. 11. 29.
우분투에서 서비스중인 포트 확인 맥 & 리눅스에서 간단하게 확인하는 방법 lsof -i:8080 netstat tool로 확인하는 방법 먼저 net-tools를 설치해 줍니다. sudo apt install net-tools 그리고 현재 내 서버에서 서비스중인 모든 포트를 확인합니다. netstat -nap | grep LISTEN 그런데 결과가 너무 많이 나옵니다. 내가 원하는 포트만 확인하는 법 netstat -nap | grep LISTEN | grep 8080 2022. 10. 10.
nginx, User-Agent로 리다이렉트 한 서버에서 2개의 포트로 nginx 프락시 서버로 서비스할 때, 모바일 브라우저로 들어오면 리다이렉트 하는 방법 $ua_port 변수를 정의하고 map $http_user_agent $ua_port { default '3030'; ~(iPhone|Android) '3333'; } proxy_pass http://127.0.0.1:$ua_port; 전체 소스 map $http_user_agent $ua_port { default '3030'; ~(iPhone|Android) '3333'; } server { # hide server info server_tokens off; # Protect XSS Attack add_header X-XSS-Protection "1; mode=block"; server_.. 2022. 4. 16.
nginx , apache 둘 다 있을 경우 ssl 인증서 갱신 스크립트 파일 생성 sudo vi /root/script/letsencrypt.sh 파일 내용 !/bin/sh systemctl stop httpd sleep 10 certbot renew sleep 10 systemctl restart nginx sleep 10 systemctl start httpd 크론탭 설정 sudo crontab -e 0 3 1 * * /root/script/letsencrypt.sh 2022. 3. 20.
Datadog 설치(불완전) 이 글은 공부하며 쓴 글이라 불완전합니다. 아파치 설치 # 데이터독 에이전트 설치 DD_AGENT_MAJOR_VERSION=7 DD_API_KEY=YOURAPIKEY DD_SITE="datadoghq.com" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script.sh)" cd /etc/datadog-agent/conf.d/apache.d/ sudo vi /etc/datadog-agent/conf.d/apache.d/conf.yaml # 파일 내용 시작 init_config: instances: ## @param apache_status_url - string - required ## Status url of your Apa.. 2022. 3. 4.
리눅스 우분투 하드 폴더 용량 관리 현재 폴더 용량 확인 $ alias lls='sudo du -hs ./* 2 | sort -n -r' 현재 폴더의 하위 폴더들의 용량 확인 $ alias llsf='sudo du -h --max-depth=1 | sort -hr' 현재 하드디스크 전체 용량 확인 $ alias hdd-st='df -h -T | grep dev/sd' 로그 관리 일반 로그 현재 폴더에서 5일 이상 지난 모든 파일 삭제 $ sudo find . -name '*' -mtime +5 -delete 저널로그 $ cd /var/log/journal $ du -hs /var/log/journal/ 저널 로그 10일전 삭제 $ sudo journalctl --vacuum-time=10d 저널 로그 1G로 삭제 $ sudo journal.. 2022. 2. 11.
(작성중) 최대한 무료로 웹사이트 만들기 - 오라클클라우드 + 그누보드 오라클 클라우드 무료 계정 생성 웹서버 설치 DB 설치 PHP 설치 Tera-Gnu보드 배포 버전 설치 아래 페이지에서 가장 최신 버전의 설치 배포본의 링크를 Copy 합니다. https://objectstorage.ap-chuncheon-1.oraclecloud.com/n/axv57t2tpwi2/b/bucket-20211219-0837/o/tera%2Ftera-gnu-v1.0.tar.gz 서버 접속 후 아래와 같이 최신 버전을 다운 받고 압축을 풉니다. # 소스를 다운 받습니다. wget https://objectstorage.ap-chuncheon-1.oraclecloud.com/n/axv57t2tpwi2/b/bucket-20211219-0837/o/tera%2Ftera-gnu-v1.0.tar.gz .. 2021. 12. 19.
무료 외장하드(블록볼륨) 추가 1. 블록볼륨 생성 (오라클 클라우드 웹콘솔) 2. 인스턴스에 연결 (오라클 클라우드 웹콘솔) 3. 인스턴스에 마운트 (ssh 터미널) 1. 블록볼륨 생성 (오라클 클라우드 웹콘솔) https://cloud.oracle.com/block-storage/volumes 대부분 기본값을 이용하여 무료로 제공하는 50G 블록볼륨 생성 2. 인스턴스에 연결 (오라클 클라우드 웹콘솔) 마운트를 위한 ISCSI 명령 및 정보 3개 라인 복사 화면에는 2개만 보이므로 조심. 아래와 같이 3개임. sudo iscsiadm -m node -o new -T iqn.2015-12.com.oracleiaas:4412adf8-11b1-47c7-bb51-9667ed9d6d69 -p 169.254.2.2:3260 sudo iscsi.. 2021. 12. 16.
오라클 클라우드 Ununtu에 Nginx Server Block (가상호스트) 설정 sudo apt update sudo apt upgrade sudo apt install nginx # 리부팅시 자동시작 sudo systemctl enable nginx #php 연동할 필요있을 경우 sudo apt install php-fpm 아파치의 가상호스팅에 해당하는 Server Block을 설정하여 어려 도메인으로 서비스해 봅니다. sudo mkdir -p /var/www/{도메인1} sudo mkdir -p /var/www/{도메인2} sudo 사용을 피하기위해 ubuntu 계정으로 소유자를 바꿉니다. sudo chown -R $USER:$USER /var/www/{도메인1} sudo chown -R $USER:$USER /var/www/{도메인2} 간혹, www-data 사용자를 필요로 하.. 2021. 12. 16.
주피터 (Jupyter Notebook) 설치하여 웹브라우저로 서버 관리 - 우분투 2023년 8월 : Ubuntu 22.04 버전에서 작동하도록 글 수정 아래 내용대로 따라해서 잘 되었는지 궁금합니다. 성공여부를 간단하게 익명댓글 남겨주시면 감사하겠습니다. Jupyter Notebook은 vim 에디터 사용이 익숙하지 않고, 파일 업로드, 다운로드 등의 작업을 어려워하는 분들을 위한 웹브라우저 기반의 서버 관리자 프로그램입니다. 터미널 작업도 브라우저에서 할 수 있어서 매우 유용합니다. ssh 클라이언트가 없는 곳에서도 쉽게 작업이 가능하므로 설치해 두면 아주 유용합니다. 설치하는 법은 조금 까다롭고 번거롭지만 한번 설정해 두면 그 편함은 말로 다 할 수 없습니다. 꼭 시도해 보세요. 설치하기 sudo apt update sudo apt update sudo apt upgrade su.. 2021. 2. 19.