crontab을 사용한 이메일 백업

crontab을 사용한 이메일 백업

저는 이 작업을 사용하여 cron매일 오전 1시에 백업을 만듭니다./home/blah/

0 1 * * * tar -zcf /home/blah/backup.tgz /home/blah/

사실 난 이게 더 좋아.tgz 파일이 첨부된 이메일을 받았습니다. (예, 내 폴더가 매우 작기 때문에 파일 크기는 항상 5MB 미만입니다.)

다음과 같이 할 수 있나요?

0 1 * * * mail -s "Backup blah" "[email protected]" --attachment=(tar -zcf /home/blah/backup.tgz /home/blah/)

(이것은의사코드마지막에)크론 작업에서? 어떤 cron 구문을 사용해야 합니까?

답변1

내 컴퓨터에서 테스트할 때 다음 명령이 효과적이었습니다.

echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- [email protected]

따라서 따라야 할 접근 방식은 다음과 같을 수 있습니다.

tar -zcf /home/blah/backup.tgz /home/blah/
echo "Please find attached the backup file" | mutt -a "/home/blah/backup.tgz" -s "File attached" -- [email protected]

위 스크립트를 다음과 같이 저장 backup_email.sh하고 크론 작업을 다음과 같이 예약했습니다.

0 1 * * * /path/to/backup_email.sh

인용하다

https://stackoverflow.com/a/9524359/1742825

답변2

먼저 ZIP을 설치한 다음 백업을 예약하겠습니다.

zip system.zip /etc/* /var/www/* /var/lib/mysqlbackup/default/* && sleep 3 |  mutt -a "system.zip" -s "Daily backup as of $(date +%x)" -- [email protected] && rm -rf system.zip

그러면 crontab이 그것을 할 것입니다

bashrc 파일에 별칭을 추가하면 언제든지 전체 명령을 실행할 수 있습니다.

bashrc 파일 맨 아래에 다음을 추가합니다.

alias backup='zip system.zip /etc/* /var/www/* /var/lib/mysqlbackup/default/* && sleep 3 |  mutt -a "system.zip" -s "Daily backup as of $(date +%x)" -- [email protected] && rm -rf system.zip '

그래서 당신의 crontab은 다음과 같습니다

0 0 * * * backup

사용자 고유의 명령을 사용하여 언제든지 backup이 백업을 실행할 수 있습니다.

관련 정보