- [ CS/Linux ][Linux] 크론(Cron) 표현식 완벽 가이드: 자동화 작업 스케줄링 마스터하기2025-03-19 11:12:20크론(Cron) 표현식 완벽 가이드: 자동화 작업 스케줄링 마스터하기크론(Cron)은 유닉스 계열 운영체제에서 특정 작업을 정해진 시간에 자동으로 실행하도록 예약하는 시간 기반 작업 스케줄러이다. 크론 표현식을 이해하면 시스템 관리, 데이터 백업, 정기적인 알림 등 다양한 작업을 자동화할 수 있다. 이 글에서는 크론 표현식의 모든 것을 상세히 설명하고, 다양한 예시와 활용법을 제공한다.1. 크론 표현식의 구조크론 표현식은 공백으로 구분된 5개 또는 6개의 필드로 구성된다. 각 필드는 특정 시간 단위를 나타내며, 순서는 다음과 같다.초 (Seconds): 0부터 59 사이의 값분 (Minutes): 0부터 59 사이의 값시간 (Hours): 0부터 23 사이의 값일 (Day of Month): 1부터 31..
- [ CS/Linux ][Ubuntu] 커널 업그레이드2025-01-26 20:36:29커널 업그레이드를 진행해 보자(root 계정으로 간주, sudo 명령어는 생략하였다).이번 실습을 진행하면서 "sh: 1: pkexec: not found" 오류를 만났다. 이에 대한 해결 방법은 4번 항목을 참고하자! 1. PPA 추가add-apt-repository ppa:cappelikan/ppaCappelikan이라는 사용자가 제공하는 소프트웨어 패키지들로, 보통 특정 소프트웨어나 도구의 최신 버전을 제공하는 경우가 많다. 2. apt 업데이트apt update 3. mainline 설치apt install mainlinemainline은 최신 커널을 쉽게 설치하고 관리할 수 있도록 도와주는 도구이다. 4. 최신 커널 설치mainline install-latest최신 커널 설치시 "sh: 1: ..
- [ CS/Linux ][Linux] SSH 포트를 22가 아닌 다른 포트로 변경2024-12-11 18:31:561. CentOS1) SSH 설정 파일 수정sudo vi /etc/ssh/sshd_config파일에서 아래 내용을 찾는다.#Port 22주석(#)을 제거하고 사용할 포트 번호로 변경한다(아래 예는 2022로 변경).Port 2022 2) 새 포트를 방화벽에 추가새 포트를 방화벽에 허용 한다(아래 예는 포트 2022 허용).sudo firewall-cmd --permanent --add-port=2022/tcpsudo firewall-cmd --reload 3) SSH 데몬 재시작SSH 데몬을 다시 시작하여 설정을 적용한다.sudo systemctl restart sshd 4) 새 포트로 접속 테스트변경한 포트로 SSH 접속이 잘 되는지 확인한다.ssh -p 2022 사용자명@서버주소 5) SELinux ..
- [ CS/Linux ][Ubuntu] 새로운 사용자 생성 및 기존 사용자 잠금2024-12-09 11:16:331. 새로운 사용자 생성1) 새로운 사용자 생성adduser 명령으로 새 사용자를 생성한다.sudo adduser uniqueuseruniqueuser: 새로 생성할 사용자 이름명령 실행 중, 새 사용자의 비밀번호를 설정하고 기본 정보를 입력하도록 요청받게 되는데, 기본 정보는 생략(엔터 연타) 해도 된다.2) 관리자 권한 부여sudo usermod -aG sudo uniqueuser 2. 기존 사용자 잠금1) 잠금 설정usermod 명령으로 사용자를 잠금 상태로 설정하면 해당 사용자는 더 이상 로그인할 수 없다.sudo usermod -L newuser-L 옵션: 사용자의 비밀번호를 비활성화하여 로그인하지 못하게 한다.2) 잠금 상태 확인sudo passwd -S newuser결과에 L(locked)..
- [ CS/Linux ]생활코딩 리눅스 : rsync(백업할 때 유용)2024-05-28 09:40:411. rsync✔️ 출처 : https://opentutorials.org/course/2598/145081.1. 새로운 디렉터리로 전송파일과 디렉터리를 동기화는 강력한 도구.mkdir -p rsync/src # 실습을 위해 디렉터리 생성cd rsync/src # 생성한 디렉터리로 이동touch test{1..10} # test1~10이라는 10개의 실습 파일 생성cd .. # 상위 디렉터리로 이동rsync -av src/ dist # rsync를 이용해 src 디렉터리의 모든 파일을 dist 디렉터리(자동 생성)에 복사# 사용한 rsync 옵션 설명# -a (archive)# 아카이브 모드 활성화.# 아카이브 모드는 디렉터리와 파일을 재귀적으로 복사함# 복사 내용은 심볼릭 링크, 파일 권한, 사용자 및..
- [ CS/Linux ][Linux] 생활코딩 리눅스 : 인터넷, 네트워크 그리고 서버(IP 확인 방법), 웹 서버, ssh2024-05-20 10:52:521. IP 확인✔️ 출처 : https://opentutorials.org/course/2598/144271.1. 사설 IP(Private IP Address) 확인 명령ip addr출력 결과 중 inet 부분을 확인하면 된다. 외부에서 접속할 수 없는 IP이다. 1.2. 공인 IP(Public IP Address) 확인 명령curl ipinfo.io/ip # 또는 curl http://ipinfo.io/ip외부에 접속할 때 사용하는 IP이다. 😉사설 IP, 공인 IP : 통신사가 제공하는 하나의 IP를 여러 단말기에서 사용하기 위해 Router를 사용하여 비용을 절감한다. 이때 통신사가 제공하는 공인 IP는 Router가 가지게며, 각각의 단말기는 사설 IP를 부여받게 된다. ip addr 명령과 c..
- [ CS/Linux ][Linux] 생활코딩 리눅스 : 파일 찾기(locate, find), 백그라운드 실행(ctrl+z, jobs, fg), 항상 실행(daemon, service), 정기적 실행(cron)2024-04-15 10:41:201. locate✔️ 출처 : https://www.opentutorials.org/course/2598/142121.1. 설치locate 패키지보다 mlocate 패키지가 updatedb 작업이 빠르기 때문에 mlocate를 설치한다.root@(생략):/# sudo apt-get -y install mlocate😉 Mac OS의 경우 설치가 필요 없다. 1.2. updatedblocate 명령어는 실제 파일을 찾는 것이 아니라 파일 목록 데이터베이스(mlocate)에서 찾는다. 따라서 빠른 검색 속도를 제공하지만 최신의 정보가 아닐 수 있다(udatedb 작업은 크론에 등록되어 있어 매일 새벽에 자동으로 실행됨). 아래 명령어를 이용해 mlocate.db에 파일 정보를 저장한다. mlocate의 경우..
- [ CS/Linux ][Linux] nohup을 이용한 jar 무중단 배포 및 log 확인 방법2024-04-08 18:15:561. 실행 중인 자바 프로세스 확인root@(생략):/# ps -ef | grep javaroot@(생략):/# kill -9 # 프로세스가 실행중이라면 제거 2. nohup으로 jar 실행(log 생성)root@(생략):/# nohup java -jar 파일명.jar --spring.profiles.active=dev 2>&1 & # "--spring.profiles.active=dev" dev모드로 실하는 옵션, 상황에 따라 생략해도 됨 3. log 실시간 확인root@(생략):/# tail -f nohup.out 4. nohup으로 jar 실행(log 생성하지 않음)root@(생략):/# nohup java -jar 파일명.jar --spring.profiles.active=dev > /dev/n..