백업을 예약하고 알림을 보내시겠습니까?

백업을 예약하고 알림을 보내시겠습니까?

크론 예약 백업과 동시에 파일을 편집하지 마세요., 나는 방법을 알아냈습니다:

  • 백업하기 전에 예를 들어 notify-send -t 0 "Ready for backup"준비하라는 데스크톱 알림을 보내고(편집 내용을 파일에 저장하고 외장 하드 드라이브를 백업 대상으로 연결) 준비가 되면 알림에서 확인을 클릭합니다. 그런 다음 백업이 시작됩니다.

  • 백업이 완료되면 편집을 재개할 수 있도록 백업 명령의 종료 값과 백업에 소요된 시간을 알려주는 옵션이 있습니다.

Bash와 Ubuntu에서 이 작업을 어떻게 수행할 수 있나요? 여기에는 더 작은 문제가 포함됩니다. cron에서 데스크톱 알림을 예약하는 방법은 무엇입니까?

제가 시작한 것을 달성할 수 있는 더 좋은 방법이 있다면 자유롭게 말씀해 주세요.

내 시도.

* * * * * /home/t/mybackup.sh여기에 crontab -e백업과 알림을 래핑하는 bash 스크립트를 작성 했습니다 ./home/t/mybackup.sh

#! /usr/bin/env bash                                                                                                                                          
export DISPLAY=:0
/usr/bin/notify-send -t 0 "Ready for backup?" &&
    dest=/tmp/`date +%Y.%m.%d_%H:%M:%S`&&
    mkdir -p "$dest" &&
    timetake=`time /usr/bin/rsync -a /home/t/program_files/dir/ "$dest"/  2>"$dest"/rsync-errors`; exitvalue=`echo $?`
/usr/bin/notify-send -t 0 "Finished backup!" "time taken: " $timetake " exit value:" $exitvalue

다음과 같은 문제가 있습니다.

  • "백업할 준비가 되셨나요?"라는 첫 번째 알림을 보내고 백업하기 전에 내 응답을 기다리고 싶습니다. 즉, 이상적으로는 확인을 클릭하면 백업을 진행할 수 있습니다. "취소"를 클릭하면 백업이 실행되지 않고 스크립트의 다음 명령이 실행되지 않습니다.

    하지만 현재 스크립트에서는 첫 번째 스크립트가 notify-send내 응답을 기다리지 않고 백업을 계속합니다.

    응답을 기다리게 할 수 있더라도 "확인" 또는 "취소"를 클릭했는지에 대한 응답을 얻기 위해 스크립트에서 이를 코딩하는 방법을 모르겠습니다.

  • notify-send백업이 완료된 후 두 번째 "백업 완료!..." 메시지가 표시되지 않습니다.

관련 정보