본문 바로가기

전체 글222

[쉘 스크립트] 리눅스 for문 Syntax error : Bad for loop variable 스크립트 문법상 문제라든지 쉘프로트에서 root 권한으로 수동으로 실행했는데도 Syntax error : Bad for loop variable 에러가 발생하는 경우가 있다. 이경우는 sh 쉘로 실행해서 발생하는 경우로 bash로 실행해줘야한다. 스크립트에 !#/bin/bash를 넣어줘야 한다 #!/bin/bash for ((cnt=1; cnt 2023. 11. 13.
[linux] postgres 쉘 커맨드 명령으로 유저 조회하기 postgres 쉘 명령어로 유저 정보를 조회 할 수 있다. PGPASSWORD=test123 psql -h 127.0.0.1 -p 5432 -U test -d postgres -t -c 'select usename from pg_user' -c 옵션은 헤더와 footer를 제거하는 옵션이다. PGPASSWORD=패스워드를 입력해야 패스워드 프롬프트가 뜨지않고 바로 명령을 수행한다. postgres 쉘 커맨드 postgres 시스템 유저 조회하기 2023. 11. 11.
[GCP] CLOUD SQL 삭제 방법 데이터 보호 삭제 보호 사용 설정 CLOUD SQL을 테스트로 생성 후 삭제를 하려고 보니 삭제 버튼이 비활성화 되어있다. 권한이 어드민 권한인 경우에도 마찬가지인데 CLOUD SQL을 생성하면서 데이터 보호를 위해 삭제보호설정이 되어 있기 때문이다. CLOUD SQL 삭제 방법은 다음과 같다 수정 > 데이터 보호 > 삭제보호 설정 체크박스 해제 후 저장 삭제버튼이 활성화 되었다. 2023. 11. 10.
[LINUX] 우분투 apache2 인증페이지 로그인페이지 설정 아파치 로그인페이지 / apahce 로그인 페이지 / apache login page / 아파치 인증페이지 / apache auth페이지 별도의 로그인 페이지 개발없이 아파치 설정을 통에 로그인 인증 창을 띄울 수 있다. 다음은 우분투 apache2 기준이다. [세부설정] apache2 설치 sudo apt-get install apache2 apache2-utils 인증할 계정생성 infra는 계정명이며 해당 명령을 수행하면 패스워드를 입력하라고 뜬다 sudo htpasswd -c /etc/apache2/.htpasswd infra # 확인 cat /etc/apache2/.htpasswd http 000-default.conf 페이지 설정 vi /etc/apache2/sites-available/000.. 2023. 11. 8.
[LINUX][PHP] 우분투 PHP Fatal error: Uncaught Error: Class 'mysqli' not found 문제점 ubuntu 20.04에서 apache2를 처음설치하고 php mysql 연동시 아래와 같은 에러 발생 PHP Fatal error: Uncaught Error: Class 'mysqli' not found 해결방법 아래 apt 패키지 설치후 apache2 서비스 재시작 하면 된다 sudo apt-get install php-mysqlnd 2023. 11. 7.
[shellscript] 쉘스크립트 sed 문자 정확히 일치 할 때 바꾸기 sed 명령어를 통해 파일 내용의 문장이나 단어를 변경할 수 있다. 하지만 기본적으로 바꾸고자 하는 문자 포함이면 모두 바꾸기 때문에 바꾸고자 하는 단어가 정확히 일치할 때 변경하는 방법을 찾아야한다. 해결방법 sed -i -e '/^aaaa,bbbbb$/s/a,b/new_string/' filename.txt 예를들어 filename.txt가 아래와 같이 구성되어있을 때 aaaa,bbbb,ccc aaaa,bbbb aaaa,bbbb,ccc,dddd sed -i -e '/aaaa,bbbbb/s/a,b/new_string/' filename.txt 명령어를 수행하면 다음과 같이 출력된다 a,b,ccc a,b a,b,ccc,dddd 내가 원하는것은 두번째 라인만 변경을 원하는 것이다 따라서 첫번째와 마지막을 .. 2023. 11. 3.
[shellscript] grep -r 하위 폴더 포함 파일 내용 검색하기 개요 grep 명령어를 이용하여 현재 경로에 하위 폴더에 있는 파일 내용까지 검색할 수 있다. grep으로 찾은 문자열 바로 수정하기 grep -lr "검색어" * 현재경로 하위에 있는 모든 파일내용중 123.123.123.123을 8.8.8.8로 변경하기 grep -rl "123.123.123.123" *|xargs sed -i 's/123.123.123.123/8.8.8.8/g' 2023. 10. 24.
[리눅스] 우분투 22.04 nginx stable 업그레이드 개요 우분투 22.04환경에서 apt를 이용하여 nginx 패키지 인스톨을 하면 버전이 1.18.0이 된다. 하지만 nginx 1.18.0은 지원기간이 끝난 버전이라 보안에 취약하다고한다. 업그레이드 방법 기존버전에서 apt update로 업데이트하는게 아니라 기존 버전인 1.18.0을 삭제해야하며, 삭제 전 /etc/nginx를 백업해둘 것을 권고한다. 업그레이드 방법은 다음과 같다. 아래 버전은 참고로 nginx stable 버전업그레이드이다. #nginx 삭제 apt remove nginx #필수 구성요소 설치 sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring #서명키 가져오기 curl https://nginx.org/k.. 2023. 10. 16.
[powershell] 파워쉘 프로세스 개수 체크하기 파워쉘을 통해 프로세스 갯수를 체크하여 참 거짓을 나타낼 수 있다. 아래 명령어와 같다. powershell if((Get-Process "notepad" -ErrorAction SilentlyContinue).Count -eq 3 -and (Get-Process "game" -ErrorAction SilentlyContinue).Count -eq 2) { Write-Host "true" } else { Write-Host "false" } 코드 설명 if 문으로 notpad프로세스가 3개 떠있으면서(and연산) game프로세스가 2개 떠있으면 참 아니면 거짓 프로세스 조회 : Get-Process "프로세스명" -ErrorAction SilentlyContinue : 에러가 발생해도 프롬프트에 안남기겠.. 2023. 10. 6.
[ANSIBLE] 앤서블 그룹내 특정 호스트 제외하고 실행하기 앤서블 그룹내에 특정 호스트를 제외하고 실행하고 싶다. 예를들어 test_group이 아래와 같이 구성되어 있고 이중 AA를 제외 하고싶다.AABBCC --limit 'test_group01:!AA' 옵션에서 으로 AA 호스트를 제외 처리 할 수 있다.ansible-playbook /data/ansible/win_ping.yml -i /data/ansible/hosts -f 20 -u test -k --limit 'test_group01:!AA' 앤서블 그룹내 호스트 2개이상 제외 처리하고 싶을 때앤서블 그룹내 호스트를 2개이상 제외 처리하고 싶을때는 &연산자를 사용하며 !호스트명 을 써줘야한다.ansible-playbook /data/ansible/win_ping.yml -i /data/ansible/.. 2023. 10. 5.
반응형