파이썬으로 제작된 프로그램의 로그파일을 크기가 차면 mv를 통해 백업을 시키도록
웹에서 보고 좀 변경해서 bash 쉘을 짰는데요.
#!bin/bash
file="파일 이름"
maxsize=10000
while true; do
autcualsize=$(du -k "$file" | cut -f1)
if [ $actualsize -ge -maxsize ]; then
mv $file /디렉토리/$file.'date +%Y%m%d%H%M%S'
fi
sleep 1800
done
이렇게 짰는데 문제점이 2가지가 있습니다.
1. 파일이 이동은 되나 같은 디렉토리나 다른 디렉토리로 옮겨도 프로그램이 이동된 로그파일에 기록한다.
2. date가 안먹히고 date +%Y%m%d%H%M%S 문자대로 출력한다.
입니다. 혹시 파이썬이 인터프리터언어라 따라가는걸까요?
2. '...' 이렇게 감싼건 string을 받아서 쓰기 위해서겠죠? mv 뒤에 바로 date의 결과를 받고 싶으시면 `...` 으로 감싸시기 바랍니다. 아니면 date 결과를 변수로 받아서 사용 하시기 바랍니다.
백업은 logrotate 같은걸로 책임을 나누시는게 더 나을것 같네요..