crontab 백업 디렉토리

crontab 백업 디렉토리

그래서 나는 이것을 가지고 있습니다.crontab -e

0 0 * * * /opt/www/backup.sh

파일에는 다음이 있습니다.

#!/bin/bash
FILENAME=$(date +%Y%m%d).tar.gz
tar zcf backups/$FILENAME f

파일은 다음 위치에 있습니다./opt/www

그러나 백업은 전혀 생성되지 않습니다. 수동으로 실행 하면 정상적으로 backup.sh실행되어 디렉터리의 백업이 생성됩니다 .f

저는 데비안 7.8을 사용하고 있습니다.

답변1

cronjob을 시작할 때 현재(작업) 디렉터리가 /opt/www로 설정되지 않을 수 있습니다. backup.sh 스크립트의 tar...행 앞에 설정할 수 있습니다.

cd /opt/www

또는 다음을 통해 tar 줄의 전체 경로를 사용할 수 있습니다.

tar zcf backups/$FILENAME /opt/www/f

전체 경로를 사용하는 것이 좋습니다.backups/$FILENAME

답변2

코드를 실행하면 corntab홈 디렉터리에서 시작하는 상대 경로에서 코드가 실행됩니다.

쉬운 수정:/스크립트에서 (시작부터) 절대 디렉터리 경로를 사용할 수 있습니다.

다른 방법:이식성을 위해 코드에서 "path_dir"을 사용하십시오.

path=$(readlink -f $0)                                       
path_dir=${path%/*}

관련 정보