crontab 에서 이게 실행이 안되네요?

hanpedro의 이미지

centos 5.4 x86입니다.
crontab에 아래처럼 기재했는데, 실행이 안되네요?

30 10 * * * root /root/backup.sh

~/backup.sh
하면 실행은 됩니다.

어디가 잘못되었는지....

academic의 이미지

30 10 * * * /root/backup.sh

이렇게 해보시죠.

--
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

hanpedro의 이미지

academic님 댓글 고맙습니다.

내일 결과를 봐야 하겠네요.

자료는 저장하자!
저장해서 정리하지 않은 지식은 쓸모가 없다.

hanpedro의 이미지

37 16 * * * /root/backup.sh

로 했는데도 안되네요.
crontab을 수정하고,
service crond restart 를 해주었습니다.

그리고, 여전히
/root/backup.sh
으로는 실행이 됩니다.

자료는 저장하자!
저장해서 정리하지 않은 지식은 쓸모가 없다.

neocoin의 이미지

1. 로그 시도

30 10 * * * /root/backup.sh >> log_path/backup.log 2>&1
30 10 * * * ls >> log_path/test_ls.log 2>&1

2. 해당 시간이 지난후 두가지 로그 확인. 다시 시도.

ps. cron은 재시작 하실필요 없습니다.

hanpedro의 이미지

45 18 * * * /root/backup.sh >> /var/log/backup.log 2>&1

했는데도, /var/log에 backup.log파일이 안보이네요.

자료는 저장하자!
저장해서 정리하지 않은 지식은 쓸모가 없다.

neocoin의 이미지

ls의 결과물은 나오나요? 나온다면, backup.sh 의 실행 path일 가능성이 높습니다.
아래 소스에 분명 echo 하는 부분이 많은데 출력 안되는건, 실행되지 않는 겁니다.

/root/backup.sh 가 확실한가요?

그래도 문제가 된다면, 일단 실행되는지 echo 만 넣어서 다른 스크립트로 테스트해보세요.

academic의 이미지

backup.sh 파일의 내용을 보여주세요.

--
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

hanpedro의 이미지

academic님 아래는 backup.sh의 내용입니다.

#!/bin/bash
#
# creates backups of essential files
#

checkdate=`LC_TIME=en date | awk '{print $1}'`
BACKUP_DIR=/var/www/_hanswork/_backup
html_SOURCE=/var/www/html/databackup
dmdata_SOURCE=/var/www/html/databackup/data
REMOTEDIR=/cygdrive/l/_databackup_backup
# fullincre_bak.list
DATE=`date +"%Y%m%d"`
#
if [ "$checkdate" = "Sat" ] ; then
tar -g ${BACKUP_DIR}/html_fullincre_bak.list -czvpf ${BACKUP_DIR}/html_full_bak_${DATE}.tgz -C / ${html_SOURCE} --exclude=${html_SOURCE}/data

# scp to remote backup server
scp ${BACKUP_DIR}/html_full_bak_${DATE}.tgz winbackup:$REMOTEDIR
if [ $? -eq 0 ]
then
rm -rf ${BACKUP_DIR}/html_full_bak_${DATE}.tgz
# backup log.
echo "${DATE}_backup Successfully Done." > ${BACKUP_DIR}/${DATE}_html_fullincre_backup_ok.log;
else
echo "${DATE}_backup Has Error!." > ${BACKUP_DIR}/${DATE}_html_fullincre_backup_error.log;
fi

#
tar -g ${BACKUP_DIR}/data_fullincre_bak.list -czvpf ${BACKUP_DIR}/dmdata_full_bak_${DATE}.tgz -C / ${dmdata_SOURCE} --exclude=${dmdata_SOURCE}/session

# scp to remote backup server
scp ${BACKUP_DIR}/dmdata_full_bak_${DATE}.tgz winbackup:$REMOTEDIR
if [ $? -eq 0 ]
then
rm -rf ${BACKUP_DIR}/dmdata_full_bak_${DATE}.tgz
# backup log.
echo "${DATE}_backup Successfully Done." > ${BACKUP_DIR}/${DATE}_dmdata_fullincre_backup_ok.log;
else
echo "${DATE}_backup Has Error!." > ${BACKUP_DIR}/${DATE}_dmdata_fullincre_backup_error.log;
fi

else
# incremental backup:
#
tar -g ${BACKUP_DIR}/html_fullincre_bak.list -czvpf ${BACKUP_DIR}/html_incre_bak_${DATE}.tgz -C / ${html_SOURCE} --exclude=${html_SOURCE}/data

# scp to remote backup server
scp ${BACKUP_DIR}/html_incre_bak_${DATE}.tgz winbackup:$REMOTEDIR
if [ $? -eq 0 ]
then
rm -rf ${BACKUP_DIR}/html_incre_bak_${DATE}.tgz
# backup log.
echo "${DATE}_backup Successfully Done." > ${BACKUP_DIR}/${DATE}_html_fullincre_backup_ok.log;
else
echo "${DATE}_backup Has Error!." > ${BACKUP_DIR}/${DATE}_html_fullincre_backup_error.log;
fi

#
tar -g ${BACKUP_DIR}/data_fullincre_bak.list -czvpf ${BACKUP_DIR}/dmdata_incre_bak_${DATE}.tgz -C / ${dmdata_SOURCE} --exclude=${dmdata_SOURCE}/session

# scp to remote backup server
scp ${BACKUP_DIR}/dmdata_incre_bak_${DATE}.tgz winbackup:$REMOTEDIR
if [ $? -eq 0 ]
then
rm -rf ${BACKUP_DIR}/dmdata_incre_bak_${DATE}.tgz
# backup log.
echo "${DATE}_backup Successfully Done." > ${BACKUP_DIR}/${DATE}_dmdata_fullincre_backup_ok.log;
else
echo "${DATE}_backup Has Error!." > ${BACKUP_DIR}/${DATE}_dmdata_fullincre_backup_error.log;
fi
fi

/opt/lampp/bin/mysqldump -uroot -pmaestro dmdata | gzip > ${BACKUP_DIR}/mysql_db_bak_$(date +%Y%m%d).gz

scp ${BACKUP_DIR}/mysql_db_bak_$(date +%Y%m%d).gz winbackup:$REMOTEDIR
if [ $? -eq 0 ]
then
rm -rf ${BACKUP_DIR}/mysql_db_bak_$(date +%Y%m%d).gz
# backup log.
echo "${DATE}_dfdata_db_backup Successfully Done." > ${BACKUP_DIR}/${DATE}_dfdata_db_backup_ok.log;
else
echo "${DATE}_dfdata_db_backup Has Error!." > ${BACKUP_DIR}/${DATE}_dfdata_db_backup_error.log;
fi

자료는 저장하자!
저장해서 정리하지 않은 지식은 쓸모가 없다.

costume2010의 이미지

lusilis의 이미지

보통 직접 실행은 되는데 cron에서 동작되지 않으면 path 문제로 알고 있는데 아닌가요.. 'ㅡ')a

PATH=$PATH:$HOME/bin:/usr/local/bin
export PATH=$PATH:$HOME/bin:/usr/local/bin

PATH 넣어주시고 한번 돌려보세요..