그래서 제가 현재 수강하고 있는 강좌에 대해서는 곧 테스트해 볼 예정입니다. (이것은 낮은 수준의 과정입니다.) 우리는 RHEL6을 사용하고 있으며 완료하기 위해 샘플 테스트를 받았습니다. 선생님이 그런 설명을 해 주신 기억이 없기 때문에 대답할 수 없는 질문이 하나 있습니다. 정확한 질문은 이렇습니다.
매주 토요일 오전 2시에 /home 디렉토리를 자동으로 백업하려면 tar 명령을 사용하십시오. 이 백업을 /backup이라는 디렉터리에 파일 이름 system_backup.tar.bz로 저장합니다. 모든 백업은 조직 표준에 따라 수행되어야 하며, system_backup.tar.bz의 타임스탬프를 확인하여 가장 최근에 생성된 파일인지 확인해야 합니다.
백업 디렉터리를 만드는 방법과 tar를 사용하여 항목을 보관하는 방법을 알고 있지만 아직 배우지 않았기 때문에 이 프로세스를 자동화하는 방법을 잘 모르겠습니다! 조금 걱정됩니다. 온라인에서 찾은 모든 내용이 꽤 혼란스럽습니다. 누구든지 도울 수 있다면 매우 감사하겠습니다! 미리 감사드립니다.
답변1
예, xyz 군용 시간에 실행되는 크론 작업을 설정해야 합니다. crontab의 유일한 작업은 "아래와 같이" 작성해야 하는 스크립트를 시작하는 것입니다. 스크립트는 쉘에 작성되고 cron에 추가되어 xyz 시간에 실행될 수 있습니다.
여기에서 크론에 대해 읽어보세요.https://wiki.archlinux.org/index.php/cron.
이 답변을 읽어보세요:https://askubuntu.com/questions/350861/how-to-set-a-cron-job-to-run-a-shell-script
다음은 온라인에서 찾은 샘플 스크립트입니다.
#!/bin/sh
BKUP_FILE_NAME="bkup-"`date +%Y-%m-%d`".tgz.enc"
# trap ctrl-c and call ctrl_c()
trap ctrl_c INT
function ctrl_c() {
echo "Exiting..."
exit 1
}
if [[ $1 == '-d' ]];
then
# Decrypt
openssl aes-256-cbc -d -salt -in $2 | tar xzf -
exit 0
fi
mkdir bkup
rsync -r --relative .dwm/config.h bkup/
rsync -r --relative .st/config.h bkup/
rsync -r --relative .ssh bkup/
# Thunderbird
rsync -r --relative .thunderbird/ bkup/
rm -r bkup/.thunderbird/*.default/*.sqlite
# Pidgin
rsync -r --relative .purple bkup/
rm -r bkup/.purple/logs
# Encrypt
tar cz bkup | openssl aes-256-cbc -salt -out $BKUP_FILE_NAME
# Clean up
rm -r bkup