2017. 11. 13. 11:44ㆍ기술집/서버관련
간만에 쓰네요. 전문적인건 ㅋ
오늘 월요일... 지난번에 인터넷 나야나 사태이후로 또 그쪽계열의 서버에서 랜섬웨어 감염소식이 들린후로
간만에 사이트 소스 및 파일들의 백업이 필요하다고 생각해서 파일들을 찾았습니다.
그런데... 이런젠장.
사이트 백업 파일들이 8월부터 제대로 백업이 안되고있었던것.
흡사 서버 이전후, OS 및 아파치 버전업 이후로 기존에 잘 되던 스크립트가 안먹히던
그 현상과 동일했습니다.
▼ 8월부터 용량이 줄어든 img 파일
7월까지는 사이트 이미지 압축파일 용량이 약 47MB 정도입니다.
하지만 8월에는 1MB도 안되고... 9월부터는 더 줄어듭니다.
파일이 삭제된거아냐?? 천만에요.
백업 스크립트를 수동으로 동작시키면 47MB 용량으로 압축이 됩니다.
crontab 으로 하면 안되구요.
이전과 완전 동일한 현상... 그것도 파일 백업한건 제대로 되는데.. 왜 이미지만???
crontab 에 들어있는 한줄입니다.
20 4 1 * * root /root/bin/(유저명)/(사이트이름)_site
매월 1일, 새벽 4시20분에 root 권한으로 저 스크립트 파일을 실행해라.
라는 내용이죠.
혼자서 이래저래 막 생각하다가... 예전처럼 tar 명령어를 절대경로로 바꿔도 봤습니다만
전부 실패...
그러다가 이걸 추가했죠.
바로 제목에도 나와잇는...
/dev/null 2>&1
우선 테스트하던 한줄에 뒤로 붙였습니다.
*/1 11 * * * root /root/bin/(유저명)/(사이트이름)_site > /dev/null 2>&1
그랬더니!!! 어머나 세상에 성공!!!
도대체 이게 뭐길래 성공을 한대요????
▼ 실제 crontab 설정
일단 성공을 했으니.. 인증샷!!!
▼ 원래대로 인식되어 압축된 결과물
어떤가요??? 47MB 용량으로 돌아왔습니다.
그동안 이미지 파일이 좀 늘어서그런지... 용량도 살짝 올랐죠???
그래서... 혹시라도 그냥 실행하면 잘 되는데 crontab 설정으로 실행하면 제대로 용량인식이
안된다는 현상이 있을때에는 다음과 같은 두가지 처리방법이 기록됩니다.
1. 명령어를 절대경로로 실행해봐라.
2. 스크립트 실행시 /dev/null 2>&1 을 붙여라
그럼 여기서 짚어봐야겠죠??
Linux 에서 /dev/null 2>&1 의 의미란 무엇인가??
지정한 명령어 처리결과. 그리고 발생할지 모르는 에러메세지를 출력하지않고
모두다 버려버린다는 의미입니다.
null 이 뭔지는 아시죠???
좀 더 자세히 들어가자면....
2 : 표준에러
> : 리다이렉트
&1 : 표준출력
표준에러가 발생하면 /dev/null 에다가 리다이렉트로 표준출력해라.
즉... /dev/null 에다가 에러를 출력하라는 말이랍니다.
/dev/null 은 블랙홀처럼 모든걸 다 버리는곳이라고 보면 되니까..
에러가 나오면 저기다가 출력하고, 동작은 정상동작시켜라!! 라고 보시면 될듯하네요.
&1 에서 &의 목적은... 1 이라는 표준출력이라는 상태를 나타내기 위함이라고합니다.
& 없이 2>1 이라고 한다면.... 1은 파일명으로 인식이 된다고하네요.
그리고, 어떤 에러에 어떤 결과물이 나오는지 궁금하시면
/dev/null 대신에 파일이름을 넣어주시면 됩니다.
휴.. 어렵네요 ㅎㅎㅎ
그래도 또 하나 배워갑니다 ㅎㅎ
'기술집 > 서버관련' 카테고리의 다른 글
[Linux] 쉘스크립트 if문 조건 오류 - integer expression expected (0) | 2022.07.04 |
---|---|
[Linux] 윈도우xp 다운받은 압축파일 손상되는 문제해결 - zip 명령어 (0) | 2018.03.30 |
[LINUX] tar 증분백업시 스냅샷 파일이 갱신되지않는다? 해결법 (0) | 2017.09.29 |
[LINUX] tar 를 이용한 증분백업.. 디스크교체에 새로해야되네 ㅠㅠ (0) | 2017.07.17 |
[Linux] 서버간 파일 복사하기.. 파일 넘기기 scp 명령어 (0) | 2017.07.06 |