1. 자유게시판
  2. 스마트폰 질문과 답
  3. 사용자 팁/사용기
  4. 아무거나 질문답
  5. 토론의 장
  6. 방명록

  1. 자유게시판
  2. 스마트폰 질문과 답
  3. 사용자 팁/사용기
  4. 아무거나 질문답
  5. 토론의 장
  6. 방명록
    오늘: 1   어제: 1   전체: 11671960  

생일 축하해요

  • 04월25일
    박영록
  • 04월25일
    id: 김지철
  • 04월25일
    Bryant
  • 04월25일
    정진석
  • 04월25일
    이승룡
  • 04월25일
    고혁준
  • 04월25일
    자장범벅
  • 04월25일
    실수로백억
  • 04월25일
    원사마파더
  • 04월25일
    주서

  로그인한 사람


?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

구상중인 스크립트의 목적은 3일 정도에 한번씩

/data/data/com.kakao.talk/databases/KakaoTalk.db

/data/data/jp.naver.line.android/databases/naver_line

/data/data/kr.co.tictocplus/databases/tictocplus.db

/data/data/com.android.providers.telephony/databases/mmssms.db

/data/data/com.android.providers.contacts/databases/contacts2.db

/data/data/com.android.providers.calendar/databases/calendar.db

부팅과 함께 이 파일들을 sdcard의 특정 폴더에 날짜를 이름으로 하는 하위디렉토리를 만들어 복사하되

약 10회분의 복사본만 유지하는 것입니다.

그러니까 /sdcard/gomdol_backup/에 2013-06-06 디렉토리를 만들어서 그 아래 저 파일들을 집어넣고

3일 지나면 2013-06-09를 만들어서 집어넣고... 이 디렉토리들이 10개를 넘어가면 오래된 것부터 지우려는거죠.


첫번째 문제는 '3일 정도에 한번씩' 을 어떻게 하느냐입니다.


단말기는 어차피 하루에 몇번, 아니면 며칠에 한번씩 재부팅되는데 그 간격이 일정치 않으므로 부팅 카운터를 쓸 수는 없습니다.

그래서 부팅시에

/data/gomdol_daycount 라는 파일을 하나 만들어서 여기에 백업을 한 일시를 unix time을 사용해 기록해 두었다가

다음 부팅시에 이 값과 현재의 unix time의 차이를 구해서 3일이 지나면 저 위의 파일들을 백업하고 싶은데...


일단 gomdol_daycount 파일이 없으면 백업이 한번도 안 이루어진것일테니 무조건 백업 하고

gomdol_daycount를 새로 만들어서 저장해야겠지요. 그러려면 date +%s > /data/gomdol_daycount 하면 될거 같고...

그러다가 다음 부팅에서 현재의 unix time을 변수로 잡으려면

GL_CURRENT=`data +%s`

GL_LAST=`cat /data/gomdol_daycount`

해서 GL_CURRENT에서 GL_LAST를 뺀 값이 일정 이상(그러니까 3일분의 unix time 차등분)이 되게 하면 될것같은데


바로 이 단계에서 구체적인 방법이 떠오르지 않습니다.

아ㅠㅠ


두번째 문제는 10회분의 복사본을 유지하고 오래된 것부터 지워나가는 것입니다.


저 /sdcard/gomdol_backup 내에서 항목을 카운트하려면 어떻게 해야하는지

그리고 카운트된 것 중에서 가장 숫자가 작은것을 어떻게 검출해야하는지가

전혀 떠오르지않아요... 굉장히 기초적인것같은데 (...)


어허엉 힌트라도 좀 주시면 고맙겠습니다.

?
  • profile
    id: Celes 2013.06.06 23:43
  • ?
    id: 동글래미 2013.06.07 01:30

    우리 StartPDA 서버의 백업 스크립트를 보여주마

    이렇게 하면 3일치만 무한반복으로 백업이 되는거지.


    #!/bin/sh


    fulldate=`%Y-%m-%d`

    dd=`date +%d`

    d=`expr $dd % 3`


    echo Starting Daily Backup $fulldate. >> /var/log/bkday


    echo start mysqldump... >> /var/log/bkday

    mysqldump -uzbxe -pwpfhqhem zbxe > /startpda/backup/db/daily/startpda-$d.sql 

    echo end mysqldump... >> /var/log/bkday

    echo start tar www-files... >> /var/log/bkday

    nohup tar zcvf /startpda/backup/docs/daily/startpda-$d.tgz --exclude /var/www/startpda/zbxe/files/attach/binaries/622566 /var/www/startpda > /var/log/bkdaytar

    echo end tar www-files... >> /var/log/bkday


    echo End Daily Backup $fulldate. >> /var/log/bkday

  • profile
    id: Celes 2013.06.07 09:34
    어제 이렇게 한번 해봤는데 어떤가요?
    일단 동작자체는 하는 것 같은데 어딘가 개선할 점이 분명히 있을 것 같아요...

    #!/system/bin/sh

    setprop gomdolight.auto.backup skipped

    #get current exec time, last exec time
    GL_TIME_CURRENT=`date +%s`
    GL_TIME_LAST=`cat /data/gomdol_daycount`

    #calculate time difference
    GL_TIME_DIFF=`expr $GL_TIME_CURRENT - $GL_TIME_LAST`

    #check if sdcard is inserted - should be flagged by install-recovery.sh
    [ ! -e /data/gomdolight_external_sdcard_inserted ] && GL_BACKUP_PATH=/storage/sdcard0/Backup/`date +%Y%m%d`
    [ -e /data/gomdolight_external_sdcard_inserted ] && GL_BACKUP_PATH=/storage/sdcard1/Backup/`date +%Y%m%d`

    #backup interval
    GL_BACKUP_INTERVAL=259200

    #perform automatic backup of critical data
    if [ -e /data/gomdol_daycount ]; then
    if [ $GL_TIME_DIFF -gt $GL_BACKUP_INTERVAL ]; then
    setprop gomdolight.auto.backup performed_regular
    /system/gomdolconfig/busybox mkdir -p $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/com.kakao.talk/databases/KakaoTalk.db $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/jp.naver.line.android/databases/naver_line $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/kr.co.tictocplus/databases/tictocplus.db $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/com.android.providers.telephony/databases/mmssms.db $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/com.android.providers.contacts/databases/contacts2.db $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/com.android.providers.calendar/databases/calendar.db $GL_BACKUP_PATH
    date +%s > /data/gomdol_daycount
    else
    setprop gomdolight.auto.backup skipped_recent_enough
    fi
    else
    setprop gomdolight.auto.backup performed_firsttime
    /system/gomdolconfig/busybox mkdir -p $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/com.kakao.talk/databases/KakaoTalk.db $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/jp.naver.line.android/databases/naver_line $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/kr.co.tictocplus/databases/tictocplus.db $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/com.android.providers.telephony/databases/mmssms.db $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/com.android.providers.contacts/databases/contacts2.db $GL_BACKUP_PATH
    /system/gomdolconfig/busybox cp /data/data/com.android.providers.calendar/databases/calendar.db $GL_BACKUP_PATH
    date +%s > /data/gomdol_daycount
    fi;

    #delete old backup
    [ ! -e /data/gomdolight_external_sdcard_inserted ] && cd /storage/sdcard0/Backup/
    [ -e /data/gomdolight_external_sdcard_inserted ] && cd /storage/sdcard1/Backup/
    /system/gomdolconfig/busybox ls -1t --color=never | /system/gomdolconfig/busybox sed -e '1,10d' | /system/gomdolconfig/busybox xargs /system/gomdolconfig/busybox rm -rf

스마트폰 관련 질문과 답

질문은 상세하게, 답은 자상하게 ^^

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 기타 GomdoLight 관련 질문은 여기서 받지 않습니다. id: Gomdolius 2014.12.09 128147
공지 기타 [예시] 문제를 해결하고자 질문을 할 때는 이것과 비슷하게 해야 답변을 드릴 수 있습니다. 2 id: Celes 2011.03.28 254239
공지 기타 모든 것이 궁금한 초보를 위한 질문 요령 10계명 9 Lucy 2005.09.27 278247
공지 기타 질문답변 모음을 먼저 읽어봐 주세요. 4 동글래미 2004.11.19 284114
775 OS 커스텀롬 빌드중에 몇가지 궁금한점좀 여쭤보려합니다. 토끼탕탕빵 2019.06.30 5353
774 OS 이것들 날려버려도 되나요? (스크롤 주의) 2 file id: 미리나이루미리나이루 2014.05.27 10815
773 OS 베가 시크릿노트 킷캣 루팅 이랑 롬 추천좀요 티가렉스 2014.05.02 25430
772 OS G2 KT -> SK 순정롬 입히기 1 찬이 2014.04.07 22888
771 OS 루팅 관련 질문입니다. 4 ALC 2014.02.28 11055
770 OS 베가 넘버 6 벽돌이 되었습니다. 4 file 에고이스트킹 2013.11.01 10555
769 OS g2 다운그레이드해서 루팅햇는데.. 3 g2유저 2013.10.24 9818
768 OS dpi 변경 후 플레이 스토어 오류 ㅡ.ㅡ.. 3 Leaper 2013.10.07 10132
767 OS 옵 LTE2 calendar / jorte 아주 초보적이 질문입니다. 2 거울 2013.08.14 9302
766 OS 옵티머스 lte2 공장초기화중 벽돌됨 2 천재짓 2013.08.05 25447
765 OS HD2 안드로이드는 루팅이 안되나요? 1 JiRak 2013.06.15 11672
» OS 이런 스크립트를 짜고 싶은데 도저히 이걸 어떻게 스크립트로 옮겨야 할지 감이 잡히지 않습니다. 3 id: Celes 2013.06.06 13132
763 OS 베가 넘버6 입니다. 벽돌후 초기화후 셀프업그레이드 하면 모두 돌아오나요? 1 통쾌통쾌 2013.05.23 18399
762 OS 안드로이드 루팅관련해서 질문드립니다. 1 dlengks221 2013.05.09 12704
761 OS 국제표준 통신패치 가능하신 분 계시나요... 1 Dexter7948 2013.03.29 12209
760 OS 넘버6 소프트키제거 질문 3 체쿤 2013.03.29 14075
759 OS 한글AP 못잡는 플라이어4G 5 policer 2013.03.03 12534
758 OS 안드로이드 터치 감도 수정 4 id: #반면의형상 2012.12.01 24193
757 OS HD2 MIUI 급질문 1 별왕 2012.10.19 12131
756 OS kexec질문입니다 2 Kamizotouma 2012.09.26 11391
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 9 10 ... 39 Next ›
/ 39

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5