특정 사람들에게 내 보관용 계정 폴더에 대한 액세스 권한을 부여해야 하는 상황이 발생했습니다. 지금까지 그들은 중요한 데이터로 가득 찬 거대한 폴더를 삭제했습니다. 분명히 그들의 컴퓨터 기술에는 약간의 작업이 필요합니다. 다행히 Dropbox 웹사이트에 복원 기능이 있습니다. 하지만 GUI는 그렇게 강력해 보이지 않고 이 사람들이 뭔가를 영구적으로 삭제할까봐 걱정됩니다.
저는 이 폴더의 zip 아카이브를 만들어 매일 로컬 컴퓨터에 저장해 왔습니다. Dropbox 복구 GUI에서 찾을 수 없는 파일을 복구했습니다.
그런데 바쁘거나 게을러서 보관을 잊어버릴까봐 걱정이 됩니다. 그래서 기본적인 자동화 쉘 스크립팅을 배울 수 있는 좋은 기회라고 생각했습니다.
스크립트를 디자인하는 방법
- 시작 시 실행
- 특정 디렉토리의 zip 아카이브를 만들고 싶은지 확인하라는 메시지를 표시합니다(방법은 모르겠습니다).
- 이렇게 하시고 다른 이름으로 저장하세요
/path/to/archives/<date>
??
나는 현재 최소한의 bash( cd
, ls
, ssh
등)만 알고 있으므로 이와 같은 작업을 수행하는 방법에 대한 실제 예제는 향후 다른 유용한 유사한 작업을 수행하기 위한 발판이 될 것입니다.
저는 Thinkpad x230에서 Ubuntu를 실행하고 있습니다.
답변1
당신은 사용해야합니다crontab
예:
tarBackup.sh
Run Every Day at 5am이라는 이름의 스크립트를 갖고 싶다면 crontab
항목은 다음과 같습니다.
cronjob
먼저 다음 명령을 실행하여 설치하십시오.
crontab -e
다음 항목을 추가합니다.
0 5 * * * xterm -e /path/to/tarbackup.sh
파일을 저장하고 닫습니다.
당신의타르 백업.sh
tarBackup.sh
다음 줄이 있어야 합니다 .
#!/bin/bash
echo "Do you wan to backup?(yes/no)"
read input
if [ "$input" == "yes" ]
then
tar -cvf dir.tar dir1 dir2
else
echo "K sir,I won't backup anything"
fi
[예시, 필요에 따라 tar 명령 편집]
crontab의 일반적인 구문은 다음과 같습니다.
1 2 3 4 5 /path/to/some/command
어디
1: Minutes 0-59
2: Hours in 24 hours format
3: Day 0-31
4: Month 0-12
5: Day of the week 0-7
/path/to/some/command - Command or script name to schedule
답변2
왜 압축 파일을 백업용으로 사용하려는지 모르겠습니다.
rsync를 사용하는 경우 새 파일과 변경된 파일만 백업할 수 있습니다(삭제된 파일은 영향을 받지 않음).
예:
#!/bin/bash
# see http://ss64.com/bash/rsync_options.html
DROPBOX=~/Dropbox/
BACKUP=~/dropboxbackup
rsync -rvt $DROPBOX $BACKUP
심벌 마크:
r - 재귀
v-장황한
t - 시간 절약