CentOS GoDaddy 호스팅 전용 서버에서 Plesk 예약 작업을 통해 백업 bash 스크립트를 실행하려고 합니다. 나는 이것으로 인해 실망스러운 문제를 겪고 있습니다 (더 나쁜 것은예전에는작동한 다음 중지됩니다...).
원하는 작업: 백업되도록 지정된 디렉터리의 전체 백업을 "backups" 디렉터리에 저장하고 싶습니다.
내가 사용하는 스크립트: https://github.com/etiennerached/godaddy-backup-script
나는 시도했다:
- backupDirectory='백업'
- 파일 경로='/'
- 또한 filesPath 변수에서 제가 생각할 수 있는 모든 것을 시도했습니다. www/vhosts/구독 이름, html/vhosts/구독 이름, /var/html/vhosts/구독 이름/, /var/www/vhosts/구독 이름/, /구독 이름/, ../, html, httpdocs 등 .나는 이미 잊어버렸어요.
설정:
- Plesk Scheduler를 통해 실행되도록 설정되어 있습니다. 스크립트 호출은 다음과 같습니다.
/bin/bash backups/backup.sh
분을 제외한 모든 항목은 *로 설정됩니다. 분은 */1로 설정됩니다. - 스크립트
/var/www/vhosts/subscription-name/backups
는 backup.sh이며 777 권한으로 설정됩니다. 해당 폴더도 777 권한으로 설정되어 있습니다. 이 두 가지 작업은 모두 나를 망친 권한이 아닌지 확인하기 위해 수행되었습니다. - 동일한 Plesk Scheduler 설정 및 동일한 권한을 가진 동일한 디렉터리에 두 번째 스크립트인
test.sh
. 가 있습니다.backup.sh
지시에 따라 매분마다 텍스트 파일에 성실하게 기록합니다.
내 구독의 홈 디렉터리에서 스크립트가 실행되는 것 같은데 "/"와 "백업"이 작동하지 않는 이유를 잘 모르겠습니다. 하지만 내 서버의 루트에서 실행 중이라면 전체 경로 호출 중 하나가 작동하면 안 될까요?
답변1
그냥 백업하고 싶다면당신이 지정한 디렉토리이것은 작동합니다:
백업하려는 디렉터리에 이 스크립트를 넣습니다.
#!/bin/bash
#Check if "backups" exists / if not create folder
if [ ! -d "backups" ]
then
mkdir backups
fi
#Begin Backup
#Choose if you want to use gzip or just tar
#TAR with gzip
#tar -cvfz --exclude=backups --exclude=${BASH_SOURCE[0]} backups/backup.tar.gz .
#TAR without gzip
#tar -cvf --exclude=backups --exclude=${BASH_SOURCE[0]} backups/backup.tar.gz .
#NOTE: We exclude "${BASH_SOURCE[0]}" because that's the name of our script,
# so you can rename it to whatever you like
exit 0