분류 전체보기 1191

[Ubuntu] You () are not allowed to use this program (crontab) - 2

현상 Ubuntu에서 일반 사용자로 crontab 설정을 등록하려고 했더니 권한 문제로 설정이 되지 않았다. cron.allow 설정이 존재하는지, 내용은 어떤지 확인해보았더니 아래와 같이 이미 crontab을 설정할 사용자가 등록되어 있었다. 정확하게 아는 건 아니지만 파일의 읽기 권한이 충분하지 않아서 발생하는 현상인 것 같다. 아래의 두 가지 방법 중 원하는 방법으로 설정하면 될 것 같다. 해결 방법 1. 다른 계정이 /etc/cron.allow 파일을 읽을 수 있도록 설정한다. chmod 644 /etc/cron.allow # 또는 chmod o+r /etc/cron.allow 2. /etc/cron.allow 파일의 그룹 소유자를 crontab으로 설정한다. chown root:crontab /..

Linux 2022.10.29

[Python] yaml 데이터 다루기

YAML 사람이 쉽게 읽을 수 있는 데이터 직렬화 양식으로, "YAML은 마크업 언어가 아니다 (YAML Ain't Markup Language)”라는 재귀적인 이름에서 유래되었다. 파일 확장자는 .yaml, .yml을 사용한다. 2021.11.01 - [Python] JSON 데이터 다루기, 2022.10.21 - [Python] CSV 데이터 다루기에 이어서 이번 글에서는 yaml 데이터를 다루는 방법을 정리해둔다. 이 글에서는 YAML 1.1(2005 ~ )을 지원하는 PyYAML을 사용할 것이다. YAML 1.2(2009 ~ )은 ruamel.yaml을 사용해야 한다. PyYAML 설치 및 임포트 기본 내장 라이브러리가 아니므로 아래 명령어로 설치한 뒤, import 하여 사용한다. pip ins..

Python 2022.10.28

[boto3] AWS SQS 정보 확인

개요 2022.09.29 - [aws cli] SQS 관련 정보 확인에서 AWS CLI로 SQS의 정보를 확인했다. 이번 글에서는 같은 일을 Python AWS SDK인 boto3을 이용해서 확인해보려고 한다. 필요한 권한은 모두 부여되어 있다고 가정한다. 자격 증명 확인 SQS를 다루기 위한 자격 증명은 아래 함수로 얻을 수 있다. profile, access key, EC2에 부여된 role 등을 사용할 수 있다. def get_session(profile_name=None): session = boto3.Session(profile_name=profile_name) return session def get_client(aws_access_key_id=None, aws_secret_access_key..

Python 2022.10.27

[nohup] python 프로세스 백그라운드 실행

개요보통 Linux에서는 명령어 뒤에 &를 붙여 프로세스를 백그라운드로 실행할 수 있다.python test.py &하지만 이러한 실행법은 쉘이나 터미널이 끊기면 프로세스도 함께 중단되는 문제가 있다.   nohupnohup은 no hangup의 줄임말로 프로세스 중단이 없다는 의미의 명령어이다. 쉘을 데몬형태롤 실행시켜 세션이 끊겨도 백그라운드 프로세스가 중단되지 않고 유지된다. nohup &# 예시nohup python test.py &  nohup.out기본적으로 nohup 실행 결과는 nohup.out 이라는 파일로 저장된다.다만 실시간으로 실행 로그가 출력되지는 않는다. 실시간으로 로그를 출력할 때는 python 실행 시 -u 옵션과 함께 실행한다.nohup python -u test.py &..

Linux 2022.10.26

[MySQL] 날짜/시간 연산 (어제 날짜 구하기)

개요 MySQL에서 오늘의 날짜를 구하는 방법은 2022.06.15 - [MySQL] NOW, DATE_FORMAT에서 정리했었다. 그렇다면 어제 날짜는 어떻게 구할 수 있을까? DATE_ADD, DATE_SUB 함수를 사용하는 방법을 정리해둔다. DATE_ADD DATE_ADD() 함수는 날짜에 시간/날짜 간격을 추가한 날짜를 반환한다. DATE_ADD(date, INTERVAL value addunit) -- date : 변경할 날짜값. -- value : 더할 시간/날짜 간격. 음수/양수 모두 사용할 수 있다. -- addunit : 더할 시간/날짜 간격의 단위 addunit의 아래와 같은 값을 사용할 수 있다. MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QU..

Database 2022.10.25

[Python] 날짜/시간 연산 (어제 날짜 구하기)

개요Python을 이용해 오늘의 매시 정각, 정오 또는 어제 날짜를 계산하고 싶다. 케이스대로 예시를 정리해둔다.   현재 시각 구하기datetime 모듈을 사용하면 현재 시각을 '2022-10-11 21:07:36.221681'와 같은 형식으로 구할 수 있다.import datetime# Local Timezoneprint(datetime.datetime.now())print(datetime.datetime.today())# UTCprint(datetime.datetime.utcnow()) 기본적으론 컴퓨터에 설정된 시간대를 기준으로 확인하지만, utcnow 함수를 사용하면 UTC 기준으로 확인한다. time 모듈을 사용할 수도 있다.import time# Local Timezoneprint(time...

Python 2022.10.24

[GitLab] Mirroring repositories - LFS objects are missing 에러

개요GitLab 저장소 백업을 위해 GitLab의 Mirroing repositories 기능을 이용해 다른 GitLab 저장소로 Push하고 있는데, 아래와 같은 LFS objects are missing 에러 메세지와 함께 Push에 실패했다.13:close stream to gitaly-ruby: rpc error: code = Unknown desc = Gitlab::Git::CommandError: remote: GitLab: LFS objects are missing. Ensure LFS is properly set up or try a manual "git lfs push --all". To http://gitlab.example/root/test.git ! [remote rejected] ..

Git | GitLab 2022.10.23

[AWS cli] S3 - Cloudwatch 지표 통계 확인

개요 2022.10.20 - [AWS cli] SQS - Cloudwatch 지표 통계 확인에 이어 S3의 모니터링 지표를 수집해보려고 한다. 여러 지표 중에서 버킷에 대한 일별 스토리지 지표인 버킷 용량과 객체 수를 수집해보려고 한다. 네임스페이스 S3 지표는 AWS/S3 네임스페이스에 포함되어 있다. 버킷에 대한 일별 스토리지 지표 정보 각 지표는 다음과 같은 이름, Unit, Statistics를 가진다. 지표 이름 설명 BucketSizeBytes 버킷 내 스토리지 클래스에 저장된 데이터의 양. 불완전 멀티파트 업로드 부분과 메타데이터 크기까지 포함하여 계산된다. 스토리지 유형 : 아래 StorageType Demension 참조. NumberOfObjects와 달리 AllStorageTypes로..

AWS 2022.10.22

[Python] CSV 데이터 다루기

CSV comma-separated values. 몇 가지 필드를 쉼표로 구분한 텍스트 데이터 또는 파일이다. 확장자는 .csv이며 MIME 형식은 text/csv이다. comma-separated variables라고도 한다. 스프레드시트나 데이터베이스에서 많이 사용한다. 2021.11.01 - [Python] JSON 데이터 다루기에 이어서 Python으로 CSV 데이터/파일을 읽고 쓰는 방법을 정리해둔다. csv 모듈 import csv csv 모듈은 CSV 형식의 데이터를 읽고 쓰는 클래스로, reader와 writer 객체를 사용할 수 있다. Dictionary 데이터는 DictReader와 DictWriter 객체를 이용하여 읽고 사용할 수 있다. csv 모듈은 Python 기본 내장 모듈이므..

Python 2022.10.21

[AWS cli] SQS - Cloudwatch 지표 통계 확인

개요 2022.10.19 - [aws cli] cloudwatch 지표 통계 확인에서 기본적인 get-metric-statistics API의 사용 방법을 정리했다. 이 글에서는 AWS Cli를 이용해 SQS의 Cloudwatch 모니터링 지표를 수집해보려고 한다. 네임스페이스 SQS 지표는 AWS/SQS 네임스페이스에 포함되어 있다. 지표 정보 각 지표는 다음과 같은 이름, Unit, Statistics를 가진다. 지표 이름 설명 ApproximateAgeOfOldestMessage 대기열에서 가장 오래된 비삭제 메시지의 대략적인 사용 기간. Unit : Seconds 유효한 Statistics : Average, Minimum, Maximum, Sum, SampleCount ApproximateNum..

AWS 2022.10.20