!/bin/sh
# 현제 날짜
today=$(date "+%Y%m%d")
# 로그 남기는 형태로 변경
logfile=/home/path/txt/${today}log.txt
sudo sh -c "sudo php log_print.php" >> ${logfile}
# 로그파일 30일 이전 삭제
delfile=`date --date="$GIVEN_DAY" -d "-30 day" +%Y%m%d`
#echo $delfile
dellogfile=/home/path/txt/${delfile}log.log
#echo $dellogfile
if [ -f $dellogfile ]; then
rm $dellogfile
# echo "file exist"
fi
Space4u
갑자기 하드(HDD or SSD) 용량 부족이 발생하면 당황하기 마련이다.
급하게 임시파일이나 로그파일들을 삭제해도 이상하게 free space 확보가 안되는 경우가 있다.
디스크 용량 확인
df -h
디렉토리별 용량확인
sudo du -sh * | sort -hr
파일 삭제 후에도 용량 확보 안될경우 체크 명령
/usr/sbin/lsof / | grep deleted
조회되는 프로세스 강제 종료
kill -9 <PID 번호>
다시 디스크 용량 확인
df -h
이상이 있는 프로세스가 파일을 물고 있어서 용량 회복이 안된 상태였는데, 프로세스를 강제로 종료 시켰으므로 용량이 회복됨.
중복도가 낮으면 카디널리티(Cardinality)가 높다고 표현하고, 중복도가 높으면 카디널리티가 낮다고 표현합니다.
인덱스와의 관계는 중복도가 낮으면 효율이 높아지고, 중복도가 높으면 효율이 낮아집니다.
중복도가 낮다는 것은 특정 컬럼의 데이터가 각기 다른 값이 들어간다는 뜻입니다.
프라이머리 키(pk)나, 주민번호 같은 유일값일 수도 있고 풀네임 같이 중복은 있지만 그리 중복이 많지 않은 데이터를 가지고 있는 컬럼을 의미합니다.
반면 중복도가 높다는 것은 같은 값이 많이 들어가는 컬럼을 의미합니다. 예를 들자면 성별 컬럼 정도 되겠습니다.
1000만건의 데이터가 들어가 있어도 남자, 여자, 기타 정도 들어갈 테니깐 중복된 데이터가 겁나게 많겠죠.
인덱스를 설정할때, pk 같이 중복도가 높은 컬럼에는 효율이 높지만, 성별같이 중복도가 높은 컬럼에 인덱스를 걸면 도리어 row가 늘어나면 늘어날 수록 효율성을 떨어뜨립니다.(업데이트, 인서트시 성능이 확!!! 떨어질 수 있습니다.)
따라서 중복도가 높은 컬럼에만 인덱스를 설정할 것을 권장합니다.
중복도를 조회하는 방법은 아래 쿼리를 사용합니다.
show index from 테이블이름;
조회되는 내용중에 Cardinality 값이 작은 column에는 인덱스를 걸지 마세요.
에러 메시지
bash-3.2# sudo docker-compose up -d
2023/12/10 12:09:16 must use ASL logging (which requires CGO) if running as root
2023/12/10 12:09:16 must use ASL logging (which requires CGO) if running as root
[+] Running 0/0
⠋ redis Pulling 0.0s
⠋ phpmyadmin Pulling 0.0s
error getting credentials – err: exit status 1, out: “
~/.docker/config.json 파일을 열어본다.
만일 아래와 같이 설정되어 있으면,
{
"credsStore": "desktop"
}
다음과 같이 변경한다.
{
"credsStore": "osxkeychain"
}