Tag Archives: 백업

인터넷 뱅킹/증권용 공인인증서 쉽게 백업 받는 방법

인터넷 뱅킹/증권용 공인인증서는 크게 두군데의 저장소에 관리 될 수 있다.

1) HDD
2) USB 메모리

보통은 HDD에 저장을 많이 하는데, 이것이 저장되는 위치는 다음과 같다.

C:Program FilesNPKI

이를 USB에서 사용하려면 다음과 같이 저장 된다.

E:NPKI

여기서 E:는 USB 저장소가 E:로 지정되었을 경우이다.

회원DB가 날아갔습니다. 재가입 부탁드립니다.

kurapa.com의 핵심이었던 HDD가 날아갔답니다.

회원DB가 날아갔습니다. 재가입 부탁드립니다.

2월달에 백업해둔게 있어서 그 사이에 올라왔던 게시물은
데이터복구를 하지 못했습니다.

로그인이 안되시는 분은
다시 가입을 해주시기 바랍니다.

백업의 중요성을 알면서도 매번 일 터지고나면 후회하네요. -.-

이번엔 주기적으로 백업해주는 시스템을 프로그램으로 만들었답니다.

이제 kurapa.com도 주기적인 백업이 되네요.

p.s. 혹시 서버 운영하고 계시면…. 백업하세요. 주기적으로…

특정 폴더의 특정 파일만 파일명으로 지우기

하기 소프트웨어는 특정 폴더의 특정 파일만 파일명으로 지우고자 할 때 유용하다.

파일날짜로 지우는 방법도 있겠으나
하기 예제는 파일명으로 지운다.

지울때 최소 2개는 남기도록 구현해보았다.

#define NUMBER_OF_REMAINABLE_FILES 2

int RemoveOldFilesByName( char *path, char *filter, int number_of_remainable_files)
{
    CFileFind finder;

    int filecnt;
    int need_slash;
    char strPath[1024];
    char strFileName[256][1024];
    int total_number_files_erased=0;

    if (path[strlen(path)-1]!=’\’) need_slash=1; else need_slash=0;

    if (need_slash)
        sprintf( strPath, “%s\%s”, path, filter);
    else
        sprintf( strPath, “%s%s”, path, filter);

    BOOL bWorking = finder.FindFile( strPath);
   
    filecnt=0;
    while (bWorking)
    {
        bWorking = finder.FindNextFile();

        if(finder.IsDots()) continue;

        strcpy( strFileName[filecnt++], finder.GetFileName());
    }

    if (filecnt>NUMBER_OF_REMAINABLE_FILES)
    {
        char tmp[1024];
        int i, j, b;

        for(i=0; i<filecnt; i++)
        {
            b=0;
            for( j=1; j<filecnt; j++)
            {
                if (strcmp( strFileName[j-1], strFileName[j])>0)
                {

                    strcpy( tmp, strFileName[j-1]);
                    strcpy( strFileName[j-1], strFileName[j]);
                    strcpy( strFileName[j], tmp);
                    b=1;
                }
            }

            if (!b) break;
        }

        for( i=0; i<(filecnt-NUMBER_OF_REMAINABLE_FILES); i++)
        {
            if (need_slash)
                sprintf( tmp, “%s\%s”, path, strFileName[i]);
            else
                sprintf( tmp, “%s%s”, path, strFileName[i]);

            DeleteFile( tmp);
            total_number_files_erased++;
        }
    }

    return total_number_files_erased;
}

실행을 위한 예제는 다음과 같다.

    RemoveOldFilesByName( “c:\pub”, “pub_*.rar”, 2);

서버 백업을 위한 샘플 소프트웨어를 만들다가 혹시 도움이 될 분이 있을까 싶어 예제를 남겨본다.