Synology 쉘스크립트 백업

NAS
#!/bin/bash #날짜 date=$(date '+%Y%m%d%H%M') NowDate=`date` # 기존 파일 삭제 /usr/bin/rm -f /volume1/web/backup/data/${date}.sql /usr/bin/rm -f /volume1/web/backup/data/${date}.tar.gz # 압축 backup 디렉토리, phpMyAdmin 디렉토리 제외 /usr/bin/tar -zcvf /volume1/web/backup/data/${date}.tar.gz /volume1/web/* --exclude /volume1/web/backup --exclude /volume1/web/phpMyAdmin # 압축파일 일정시간 지난후 삭제 /usr/bin/find /volume1/web/backup/data/ -name '*.tar.gz' -mtime 30 | xargs /usr/bin/rm -f #MySQL DB sql backup /volume1/@appstore/MariaDB10/usr/local/mariadb10/bin/mysqldump -u사용자 -p패스워드 데이터베이스 > /volume1/web/backup/data/${date}.sql #일정기간 경과 파일 삭제 /usr/bin/find /volume1/web/backup/data/ -name '*.sql' -mtime 30 | xargs /usr/bin/rm -f
Read More

Apache SSL 등급 확인

Linux, WWW
제가 운영하는 웹서버의 SSL 등급기 갑자기 궁금해져서 한번 테스트를 해보았습니다. 테스트에 사용된 사이트는 ssllabs.com 에 기능을 이용하였습니다. 아래에 링크를 첨부해 놓았습니다. https://www.ssllabs.com/ssltest/analyze.htm 결과는 좋게 A 등급이 나왔습니다. 서버에 사용하는 모든 버전이 업데이트 되면서 결과가 좋게 나온다고 생각은 하였지만 생각하는 부분과 결과를 눈으로 직접 보는것은 다른듯 합니다. 결과화면에 대한 캡쳐본 가끔식은 트렌드에 따라서 움직여야 하는 일이 있습니다. 특히 보안에 관련된 사항은 좀 더 많은 부분을 신경쓰고 현재 진형으로 가는 부분을 잘 적용하는것이 좋을듯 합니다. 위 결과 화면 아래에 더 많은 정보가 있지만 캡쳐를 할 이유가 없어서 위에 가장 중요한 화면만 캡쳐만 한것입니다.
Read More

리눅스 디스크 사용량 확인

Linux
리눅스에서 디스크 사용량에 대해서 확인하는 명령어 입니다. 간단하게 'df'로 해서 처리를 할 수 있지만 다른 부분에 대해서도 확인 가능한 명령어입니다. df df -P 전체용량 # KB단위 df -P | grep -v ^Filesystem | awk '{sum += $2} END { print sum " KB" }' # GB 단위 df -P | grep -v ^Filesystem | awk '{sum += $2} END { print sum/1024/1024 " GB" }' 전체 사용량 # KB 단위 df -P | grep -v ^Filesystem | awk '{sum += $3} END { print sum " KB" }' # GB 단위 df -P | grep -v ^Filesystem | awk '{sum += $3} END { print sum/1024/1024 " GB" }' 전체 남은 용량 # KB단위 df -P | grep -v ^Filesystem | awk '{sum += $4} END { print sum "…
Read More

서버 운영체제 버전업!!!

Linux
제가 사용하는 서버의 OS의 운영체제가 버전이 달라졌습니다. 그래서 기존에 사용하던 내용을 새로운 서버에 모두 이전한다고 3~4시간을 투자하였습니다. 물론 계획을 잡기 위해서까지 시간을 한다면은 꽤 많은 시간이 소비되었지만요.... 이전은 계획대로 순조롭게 진행이 되었고, 서버 자체의 접속을 차단한경우는 약 2시간 정도 걸렸는데, 정작 중요한 블로그에 인증서 갱신에 걸려서 강제적으로 1시간을 기다려야 하는 상황이 다가와 버렸습니다. 이러한 문제로 인해서 SSL인증서가 적용되지 않도록 소스 자체를 수정하도록 하고 있습니다. 그래도 블로그 접속이 정상적으로 되어야 한다는 생각이 나서 말이죠 일단 점심 시간이 다가와서 점심을 먹고오면은 1시간이 지나니 다시 시도해 보고 글을 남기도록 하겠습니다. ※ 추가내용 다행이 오래 기다리지 않고 SSL 인증서를 적용하였습니다. 소스 및 DB상의 SSL 인증서를 제거한 부분을 다시 살린다고 지금까지 한 과정을 꺼꾸로 진행중에 있습니다. OS가 바뀐것뿐인데 서버가 상당히 쾌적해졌습니다. 물론 새롭게 설치한 서버에 별 다른 작업을 하지 않아서 쾌적한것도 있을것이라고 생각이 들지만 blog를…
Read More
Local에 운영하는 DNS Server

Local에 운영하는 DNS Server

Windows
개인 컴퓨터에서 나만의 도메인을 만들어서 비공개로 웹브라우저로 이용을 하는데, 매번 hosts 파일을 수정하는것이 번거로워서 만들게 된것입니다. 그렇다고 해서 특별한 기능을 넣거나 하지 않으면서 hosts 파일에 대한 수정을 최대한 줄여보고자 하는 형태로 개발이 된것입니다. 아래의 화면은 프로그램 실행 화면입니다. 프로그램 자제적으로 SQLite DB를 사용해서 자제적으로 DB를 이용해서 항상 그래도 운영이 되도록 만든것입니다. hosts 파일 수정은 원래 권장되는 방법도 아니고, 백신 업체들도 hosts 파일에 대한 변조를 체크하는 업체들도 있어서 가능하면은 사용하지 않는것이 좋은것입니다. 프로그램 실행화면 현재 test.test.com 이라는 도메인을 한번 만들어서 넣어본것입니다. 계속 추가하고 변경하고 삭제를 할 수 있도록 만든다고 하였지만 문제점도 있지만 쓸만은 합니다. 윈도우에서 CMD 를 통해서 nslookup 를 통해서 목록에 추가한 도메인을 조회한 모습니다. nslookup 으로 확인한 화면 프로그램 초기 버전 파일을 다운로드 할 수 있습니다. SimpleLocalDnsServer다운로드 현재 프로그램 도중에 DNS 정보가 정상적으로 갱신이 되지 않기도 합니다. 단기간에 만들다보니…
Read More

Ubuntu 서버에서 Gitlab 제거

Linux
정말 간단한 내용입니다. Ubuntu 서버에 설치를 하고 나서 지우려고 보니 명령어를 모아 놓은곳이 없어서 일단 정리해를 해 놓습니다. sudo gitlab-ctl cleanse sudo gitlab-ctl uninstall sudo apt remove gitlab-ee sudo apt purge gitlab-ee 별 다른 내용은 없지만 필요하신분이 저처럼 있을 거라고 생각해서 짧게나마 정리를 해 놓습니다.
Read More

SCP 복사

Linux
SCP 복사 기능을 정말 가끔 사용할일이 있는데, 매번 깜빡하고 다시 검색을 해보는 일이 있어서 이렇게 정리를 합니다. scp -i "인증파일경로" -r "복사할파일" ubuntu@ServerIP:"대상경로" 별 다른 내용은 없으며, 해당 기능을 통해서 중간에 내컴퓨터를 경우하지 않아도 이제 복사를 할 수 있다는 생각에 정리를 해 놓는 것입니다.
Read More

우분트 자동시작서비스 등록 실행하기

Linux
해당 기록은 제 개인적으로 기록을 해 놓은 부분입니다. 누군가에게 도움이 될수도 있지만 아마 전혀 쓸모가 없을수도 있습니다. 그렇기에 개인 기록이라는 점을 먼저 밝힙니다. crontab으로 실행하는것에 한개가 있습니다. 재부팅 되면서 실행을 해도 되고, 일정 시간을 체크해서 해도 되지만, 항상 가동해야 되는 부분이 있어서 만들게 된 부분입니다. cp /home/ubuntu/service/serviceCrawer.service /etc/systemd/systemd --------------- [Unit] Description=ServiceCrawer-1 After=network.target [Service] ExecStart=/usr/bin/php /home/ubuntu/service/service.file start ExecStop=/bin/sh /home/ubuntu/service/stop.sh Restart=on-failure [Install] WantedBy=multi-user.target ------------------ sudo chmod 644 serviceCrawer.service sudo systemctl daemon-reload sudo systemctl enable serviceCrawer.service sudo systemctl start serviceCrawer.service sudo systemctl disable serviceCrawer.service 일단 네트워크가 문제가 생기면은 재시작을 할 것이고 아니면은 항시 기동이 되도록 프로그램을 만들었습니다. 통신을 하는 부분이라서 네트워크가 죽으면 살아있어도 쓸모가 없습니다. 항상 정보를 수집하는 부분에서 일정시간마다 아닌, 실시간으로 통신을 해서 정보를 획득하기에 끊기지 않는다는것이 제일 관점있고, 그 이후 데이터를 잘 기록해야되는 부분입니다. 위에 코드는 그냥 서비스에 등록하는 부분만 있습니다.…
Read More

Port번호 사용 영역

Linux, NAS, Windows
0 ~ 1023 : well-known port번호 영역입니다. 이 영역의 port번호는 UNIX/LINUX에서 root 권한으로만 port를 열 수 있습니다. 예약영역이라고 보면 됩니다. 1024 ~ 49151번: 등록된 포트 (registered port) 이 영역은 주로 서버 소켓으로 사용하는 영역입니다. 49152 ~ 65535번 : 동적 포트(dynamic port) 이 영역은 자동으로 할당되는 영역입니다.
Read More

Dropbox를 통한 VSCode 환경설정 동기화

Tool
github를 사용하면은 쉽게 할  수 있는 방법은 검색만 해도 많지만은, github를 사용하지 않고 환경설정이나 확장 프로그램을 관리하기 위해서 고민을 하다가 기존에 사용하는 Dropbox를 이용해서 하는 방법을 강구했습니다. 기존에 환경설정이나 확장 프로그램을 미리 복사해서 백업을 해 놓고 사용하시기 바랍니다. Windows의 CMD(명령프롬프트) 를 통해서 아래의 명령어를 입력하면은 Dropbox에 복사해 놓은 환경 설정과 확장 프로그램을 사용합니다. mklink /d "%USERPROFILE%\.vscode\extensions" "D:\Dropbox\Backup\.vscode\extensions" mklink "%APPDATA%\Code\User\settings.json" "D:\Dropbox\Backup\.vscode\settings.json" 이 이후에 VSCode를 실행하고 다른곳에서도 동일한 작업을 하고 나서 하면은 동이한 환경 설정을 이용해서 사용할수 있습니다. 이 방법을 통해서 모든 코드, 문서를 관리하는 방법으로 인해서 전 어느 컴퓨터라도 동일한 환경에서 작업을 진행하고 동일한 작업을 진행 할 수 있어서 행복합니다. 물론 Github의 gist를 통해서도 가능하지만 그외에 방법으로 할 수 있다는 점을 글을 적어 봅니다.
Read More

Dnsmasq

Linux
#apt install resolvconf이것을 설정하면은 좀 더 세팅에 편해집니다. #vi /etc/resolvconf/resolv.conf.d/tail # IPv4 nameserversnameserver 1.1.1.1nameserver 8.8.8.8nameserver 1.0.0.1nameserver 8.8.4.4 # IPv6 nameserverosnameserver 2606:4700:4700::1111nameserver 2001:4860:4860::8888nameserver 2606:4700:4700::1001nameserver 2001:4860:4860::8844 #sudo service resolvconf restart #apt-get install dnsmasq # cat /etc/hosts # cat /etc/resolv.confnameserver 172.31.0.2search ap-northeast-2.compute.internal # Google IPv4 nameserversnameserver 8.8.8.8nameserver 8.8.4.4 # Google IPv6 nameserversnameserver 2001:4860:4860::8888nameserver 2001:4860:4860::8844
Read More

홈페이지 이전에 필요한 명령어

Linux
홈페이지 이전을 해줄 경우가 생겨서 한번 기록해 놓습니다. 모래사장에서 바늘 찾을 정도로 사용을 하지만, 막상 필요할때 기억이 나지 않아서 간단히 기록을 해놓습니다. # upload 디렉토리 제외해서 압축하기 tar -zcvf public_html.tar.gz ./public_html --exclude="./public_html/uploads" # upload 디렉토리 아래의 디렉토리 구조만 압축하기 tar -zcvf public_html-upload.tar.gz --exclude="*.* ./public_html/upload" # 압축풀기 (2개가 동일 위치에 존재해야함) tar -zxvf public_html.tar.gz tar -zxvf public_html-upload.tar.gz # 소유주 변경하기 chown -R [group].[user] ./public_html --from=[group].[owner] find ./public_html -user "[user]" | xargs chown "nobody"."nobody"
Read More