Bash를 통한 백업 스크립트 - 파일 경로 문제가 있습니까?

Bash를 통한 백업 스크립트 - 파일 경로 문제가 있습니까?

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

관련 정보