저는 이 작업을 사용하여 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
인용하다
답변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
이 백업을 실행할 수 있습니다.