
mysqldump, screen 및 crontab을 사용하여 매일 데이터베이스 테이블을 백업하려고 합니다. 만 실행하면 mysqldump
올바르게 덤프되지만 여물통을 실행하면 screen
출력 파일이 비어 있습니다.
크론탭 편집
crontab -e
명령 추가
0 0 * * * screen -dmS MYDATABASE_MYTABLE_backup mysqldump -u MYUSERNAME -pMYPASSWORD -h MYHOSTNAME MYDATABASE MYTABLE --compress | gzip > /root/backup/database/MYDATABASE_MYTABLE_`date +\%Y-\%m-\%d`.sql.gz
답변1
이 시나리오에서 화면으로 무엇을 달성하고 싶은지, 그것이 왜 필요한지 잘 모르겠습니다. 그러나 화면에서 실행되는 프로그램의 출력이 아니라 화면의 출력을 덤프 파일로 파이핑(| .. > 사용)하고 있습니다. 전체 특공대를 따옴표로 묶어야 합니다. 아니면 특공대를 스크립트 파일에 넣고 대신 스크립트를 간단하게 호출하는 것이 더 나을 것입니다.
myscript.sh:
#!/bin/sh
mysqldump -u MYUSERNAME -pMYPASSWORD -h MYHOSTNAME MYDATABASE MYTABLE --compress | gzip > /root/backup/database/MYDATABASE_MYTABLE_`date +\%Y-\%m-\%d`.sql.gz
화면 -dmS MYDATABASE_MYTABLE_backup myscript.sh