일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- GO 언어
- File
- Sync
- Close
- http
- bitcoin
- go언어
- 책
- 영화
- JavaScript
- C
- install
- package
- write
- c++
- Linux
- 리뷰
- Python
- channel
- mutex
- Callback
- range
- tcp
- windows
- FOR
- API
- json
- Golang
- go
- window
- Today
- Total
목록전체 글 (203)
Code Habit
서버 로그 파일을 grep 하려니 자꾸 'Binary file matches' 오류가 뜨면선 grep이 안될 때가 있다. 이는 파일에 binary character가 존재해 발생하는 증상이다. 이때 뒤에 -a ( or -text)을 붙이면 grep이 잘되는 것을 확인할 수 있다. grep id file.txt -a 이 옵션은 모든 파일을 ASCII 텍스트 문서로 인식한다는 의미를 갖고 있다.
새로 파일을 만들고 HTML 태그 자동완성 기능을 사용하려는데 안되는 경우가 있다. 이는 해당 문서의 언어설정이 잘 못된 것으로 이를 HTML형식으로 변경해야 한다. 이렇게 문서 형식을 HTML로 변경하면 태그 자동완성이 잘 되는 것을 확인할 수 있을 것이다.
2021년 프로그래밍 언어순위로 Python이 JAVA를 제치고 2위로 올라왔다. TIOBE에서 20년만에 처음으로 C와 JAVA 외에 다른 언어가 2위권으로 진입한 것으로 이는 Python이 얼마나 범용적으로 사용되고 있는지를 알려준다. 하여 이번 포스팅에서는 간단하게 Python을 설치하는 법을 알아보겠다. 시작이 반이다. 설치해서 빌드하고 실행하면 이미 그 언어의 절반을 정복한 것이다 ! Python을 설치하기 위해 가장 먼저 해야하는 것은 사이트에 들어가 Python 설치 파일을 다운로드 하고 설치 하는 것이다. 다음 주소로 접속하면 현재 윈도우 환경에 맞는 파이썬 버전이 알아서 뜰 것이다. www.python.org/downloads/ 파이썬 인스톨 화면이다. 아래에 보면 'Add Python ..
서버 로그가 너무 많이 쌓여 큰 용량을 차지할 때 지워야 하는 경우가 있다. 이럴 때 파일과 권한은 그대로 두고 파일의 내용만 지울 수 있는 방법이 있는데 다음과 같이 입력하면 된다. # cat /dev/null > /home/user1/log/test.log '/home/user1/log/test.log' 파일의 내용을 모두 지운다.
서버 작업시 보통 로그를 남기는데 이를 계속 쌓다보면 서버 하드가 풀나 서비스에 장애가 발생하게 된다. 이 때문에 보통 로그를 날짜별로 남겨 관리하게 되는데 이를 자동으로 해주는 스크립트를 작성해 보겠다. 로그를 백업하는데 필요한 것은 다음 두가지다. 1. 주기적으로 로그를 복사 ( cp ) 2. 기존 로그 내용 리셋 ( cat /dev/null ) 먼저 로그를 복사하고 기존 로그 내용을 리셋하면 된다. 물론 기존 로그를 리셋하라고 해서 파일을 지우라는 것이 아니라 내용만 삭제하는 것이다. 만약 파일을 삭제한다면 서버내에 주기적으로 로그 파일 존재 유무를 검사하고 만드는 로직이 있지 않다면 더이상 로그는 쌓이지 않을 것이다. 스크립트는 간단하다. ( logShell.sh ) #!/bin/bash logP..
리눅스의 쉘은 커널(Kernel)과 사용자간의 인터페이스로 사용자로부터 명령을 받아 그것을 해석하고 프로그램을 실행하는 역할을 한다. 자체 내에 프로그래밍 기능도 있어 쉘 스크립트를 작성해 프로그램을 반복적으로 실행할 수 있다. 주로 서버 자동화 프로그래밍을 만들 때 사용한다. 1. 쉘 스크립트 작성 - vi를 이용하여 쉘 파일을 만들고 편집모드로 들어간다. # vi test_shell - 편집모드에서 위와 같이 작성한다. '#!/bin/bash'는 스크립트 파일이 bash 쉘로 실행시킨다는 의미이다. #!/bin/bash echo "hello world" exit 0 2. 쉘 스크립트 실행 권한 부여 - 'll'을 쳐보면 'test_shell'의 권한이 '-rw-r--r'로 실행권한이 없는 일반 파일임..
리눅스 OS 환경에서 서버를 운영한다면 서버가 내려갔을 때 재시작 해주는 기능이 필요하다. 이를 위해 리눅스에서는 크론탭( Crontab )을 사용할 수 있다. 크론탭은 특정한 서비스를 위해 백그라운데이서 계속 실행되는 프로세스로 일반적으로 쉘이 종료될 때 같이 종료되나, 강제 종료 하지 않는 이상 계속 상주한다. 마치 윈도우의 서비스( service )와 비슷하다. 크론탭은 다음과 같이 사용할 수 있다. 1. 크론탭 명령어 - crontab -l : 현재 크론탭에 어떤 내용이 있는지 확인. - crontab -e : 크론탭 설정 모드 진입. vi로 편집. 2. 크론탭 시간(주기) 설정 *(분) *(시간) *(일) *(월) *(요일) - 매분 실행 매분 test.sh 실행 * * * * * /home/s..
ssh에서 제공되는 scp 명령어를 통해 로컬서버 원격서버 로의 파일을 간단하게 전송할 수 있다. 1) 원격 서버 -> 로컬 서버로 파일 전송 # scp [옵션][계정명]@[원격지주소]:[원본 경로 및 파일] [전송받을 위치] 예제 ) IP 111.222.333.444 서버의 abc라는 계정으로 /home/abc/test.html 파일을 로컬서버 /home/abc/ 디렉토리에 전송받기 # scp abc@111.222.333.444:/home/abc/test.html /home/abc/ 2) 로컬 서버 -> 원격 서버로 파일 전송 # scp[옵션][원본 경로 및 파일] [계정명]@[원격지IP주소]:[전송할 경로] 예제 ) 로컬서버 /home/abc/test.html 파일을 IP 111.222.333.444..