백업

온라인으로 뜨는 구성 스냅숏, 저장된 비밀번호를 다른 컴퓨터로 옮기는 내보내기, 곧바로 적용하는 대신 다음 시작에 예약되는 복원, 그리고 실행 이력 색인 다시 만들기입니다.

Markdown으로 보기

백업은 설정 페이지 데이터 묶음의 유일한 줄입니다. 이 카드는 모든 것이 계속 도는 동안 스테이션 구성의 사본을 뜨고, 저장된 비밀번호까지 함께 다른 컴퓨터로 옮기는 파일 하나를 쓰며, 가지고 있는 것을 모두 나열하고, 그 사본 가운데 하나가 다음 시작에 구성을 대신하도록 예약하고, 기록된 실행 목록이 이상해 보일 때 그 색인을 다시 만듭니다. 카드는 "되돌릴 수 있도록 앱 구성(장치, 태그, Logic, 대시보드, 설정과 라이브러리의 이미지, 아이콘, 심볼)을 그대로 담아 둡니다. 기록된 실행 기록과 그 이력은 따로 보관되며 백업이나 복원의 영향을 받지 않습니다."로 시작합니다. 이 페이지에는 설정 변경 권한이 필요합니다.

백업에 담기는 것

백업은 구성 데이터베이스의 온라인 사본이며, SQLite의 백업 방식으로 뜨므로 앱이 쓰는 도중에도 앞뒤가 맞습니다(미리 쓰기 로그까지 포함합니다). 그 데이터베이스가 담고 있는 모든 것이 들어갑니다. 드라이버의 장치와 태그, Logic 주소 공간(보관하는 값이 있는 변수, 액션, 트리거, 경보), 대시보드, Process 모델, 유닛, 절차, 레시피, 판정, 템플릿, 로컬 사용자와 역할, OPC UA 서버 구성, 그리고 이 페이지의 설정입니다. 데이터베이스 파일 옆에서 스테이션은 사용자 자산 폴더(라이브러리의 이미지, 아이콘, 심볼)를 형제 폴더로 복사하므로 복원하면 그림도 함께 돌아오고, 원한다면 메모가 곁딸린 파일에 들어갑니다.

파일은 스테이션 데이터 뿌리의 backups 폴더에 있습니다. config-20260902-141500.db(그 초에 이미 하나가 있으면 -2가 붙습니다), config-20260902-141500.assets, config-20260902-141500.db.note.json입니다. 내보내기 파일은 그 옆에 놓이는 파일 하나, config-export-20260902-141500.glabconfig입니다.

백업에는 기록된 실행과 그 파일, 실행 이력 색인, 오래 남는 이벤트 진단 로그, 충돌 표식, 로그 파일, 창 위치와 확대/축소, 계정 토큰 보관소, OPC UA 서버의 인증서 보관소가 결코 담기지 않습니다. 데이터베이스 안의 자격 증명(장치 비밀, OPC UA 서버 비밀번호)은 그것을 입력한 Windows 사용자와 컴퓨터에 묶인 암호문으로 저장됩니다. 다른 곳에서 연 백업은 구성 전체를 되살리되 그런 값은 모두 설정되지 않음으로 읽으므로 다시 입력해야 합니다. 그 값들을 함께 실어 가는 유일한 파일이 아래의 내보내기입니다.

백업 만들기

항목 무엇인지 값과 기본값 효과
메모 단추 옆의 입력란이며 "백업이나 내보내기와 함께 저장되는 선택 메모"입니다. 최대 200자이고 기본으로 비어 있으며 백업이나 내보내기마다 끝나면 비워집니다. 백업에서는 메모가 곁딸린 파일에, 내보내기에서는 그 머리말에 적히고, 그 파일의 줄 아래에 나옵니다.
명령 하는 일 흐려지는 때(상황) 그려지지 않는 때(역할)
폴더 열기 탐색기에서 백업 폴더를 열고, 없으면 만듭니다. 이 요청에 답하는 것은 스테이션의 창 자신이며, 이 설치에 실제로 있는 폴더에만 답합니다. 그 밖의 것은 "이것은 이 스테이션이 여는 폴더가 아닙니다. 아무것도 열지 않았습니다."라고 알립니다. 폴더가 설치 밖에 있든 그냥 없든 같은 말이므로, 그 답은 물어본 쪽이 아직 모르던 것을 하나도 알려 주지 않습니다. Windows가 열지 못하는 폴더는 "운영 체제가 열지 못했습니다."라고 알립니다. 다른 기기의 브라우저에서: "스테이션의 로컬 데스크톱에서만 쓸 수 있습니다." 결코 없습니다.
백업 만들기 스냅숏을 뜨고 상태 표시줄에 "백업 'config-….db'을(를) 만들었습니다."라고 알리거나 "백업에 실패했습니다: …"라고 알립니다. 다른 백업 명령이 도는 동안(카드가 흐려집니다). 결코 없습니다.

백업을 만드는 일은 읽기만 하는 엔지니어링 작업입니다. 유닛이 도는 동안에도 돌고 구성 변경과 겹치는 일이 결코 없습니다. 런타임이 정지한 동안에는 이 페이지가 아예 그려지지 않으므로(설정 참조) 런타임이 돌아오기 전까지 어떤 백업 명령에도 닿을 수 없습니다. 구성 데이터베이스가 아직 없는 스테이션은 "구성 데이터베이스가 아직 없습니다."로 물립니다.

다른 컴퓨터로 내보내기

백업 단추 아래에는 자기 제목을 단 두 번째 덩어리, 다른 컴퓨터로 내보내기가 있고, 그것이 왜 있는지부터 밝힙니다. "백업에는 저장된 비밀번호가 함께 담기지 않습니다. 장치 비밀번호와 OPC UA 서버 비밀번호는 이 컴퓨터의 이 Windows 계정에서만 열립니다. 내보내기는 그 비밀번호까지 담아 여기에서 정하는 암호로 봉인한 파일 하나이므로, 새 컴퓨터가 스테이션을 통째로 이어받습니다. 그 암호는 안전한 곳에 보관하십시오. 파일을 여는 유일한 열쇠이며 여기에서는 복구할 수 없습니다."

항목 무엇인지 값과 기본값 효과
내보내기 암호 파일을 봉인하는 암호이며, 나중에 그 파일을 여는 유일한 열쇠입니다. 8자 이상이고 기본으로 비어 있으며 내보내기마다 끝나면 비워집니다. 저장된 자격 증명을 다시 봉인할 키를 여기에서 만듭니다. 암호는 어디에도 남지 않으므로, 아무도 기억하지 못하는 내보내기 파일은 이 앱을 포함해 누구도 열 수 없습니다.
암호 다시 입력 같은 암호를 한 번 더 넣어, 파일이 쓰이기 전에 오타를 잡습니다. 옆 입력란과 같아야 합니다. 그 자체로는 아무 일도 하지 않습니다. 둘이 다른 동안 내보내기는 계속 물립니다.

위의 메모 입력란은 같은 것입니다. 메모는 내보내기 파일 안에도 함께 들어가고 그 줄 아래에 나옵니다.

명령 하는 일 흐려지는 때(상황) 그려지지 않는 때(역할)
내보내기 같은 backups 폴더에 config-export-20260902-141500.glabconfig 하나를 쓰고 "내보내기 '…'을(를) 저장된 자격 증명 N개과(와) 함께 만들었습니다."라고 알립니다. 이 Windows 계정에서 읽지 못한 자격 증명은 오류의 어조로 따로 셉니다. "내보내기 '…'을(를) 저장된 자격 증명 N개과(와) 함께 만들었습니다. 저장된 자격 증명 M개은(는) 이 Windows 계정에서 읽지 못해 함께 담기지 않았습니다. 새 컴퓨터에서 다시 입력하십시오." 다른 백업 명령이 도는 동안("다른 백업 명령이 아직 실행 중입니다."), 암호가 여덟 자보다 짧은 동안("내보내기 암호는 8자 이상으로 정하십시오."), 그리고 두 입력란이 다른 동안("두 암호가 서로 다릅니다."). 결코 없습니다. 내보내기를 쓰는 데 필요한 권한은 이 페이지가 이미 요구하는 설정 변경과 같습니다. 만들어지는 파일이 스테이션이 지닌 모든 자격 증명을, 내보내는 사람이 정한 암호 아래 담고 있기 때문입니다.

내보내기 파일은 구성 데이터베이스의 앞뒤가 맞는 사본과 그 옆의 사용자 자산, 그리고 머리말을 담은 압축 파일 하나입니다. 구성이 지키는 모든 열은 나가는 길에 이 컴퓨터의 보관소를 거쳐 읽히고 내보내기 암호로 다시 봉인됩니다. 머리말에는 소금과 작업 계수, 그리고 파생한 키로 봉인한 상수가 들어 있어 암호가 맞는지 아닌지만 가릴 수 있고 그 밖에는 아무것도 알려 주지 않습니다. 어떤 열이 함께 가는지는 구성 자체에서 읽으므로, 나중에 늘어난 자격 증명도 누가 목록을 기억하지 않아도 함께 갑니다. 내보내기를 쓰는 일은 백업과 똑같이 읽기만 하는 엔지니어링 작업이라 유닛이 도는 동안에도 돌고, 진단 로그에 남습니다. 스테이션이 지닌 모든 자격 증명의 사본이 방금 보관소를 떠났기 때문입니다.

내보내기 파일은 아래 목록에서 그 줄의 복원으로 되돌립니다. 그러면 "내보내기 파일에서 복원"이라고 묻습니다. "'…'에는 이 파일을 쓴 컴퓨터의 구성과 거기에 저장된 비밀번호가 담겨 있습니다. 파일을 쓸 때 정한 암호를 입력하십시오. 비밀번호는 이 컴퓨터의 보관소에 들어가고, 앱을 다시 시작하면 그 구성이 현재 구성을 대신합니다. 현재 구성은 먼저 자동으로 저장되며, 기록된 실행 기록은 영향을 받지 않습니다." 그리고 내보내기 파일의 암호 입력란이 있습니다. 그것이 비어 있는 동안 복원은 계속 물립니다("이 내보내기 파일을 쓸 때 정한 암호를 입력하십시오."). 암호가 틀리면 아무것도 쓰지 않고 대화 상자도 열린 채로 두며 이유를 상태 표시줄에 담아, 다음 시도가 바로 그 자리에 있게 합니다. 그것은 내보내기 파일을 쓴 컴퓨터에서 정한 암호이며 여기에서는 되찾을 수 없습니다. 암호가 맞으면 내보내기 파일을 이 컴퓨터의 평범한 백업으로 열고, 실어 온 자격 증명을 이 컴퓨터의 보관소에 넣고, 그 백업을 다음 시작에 예약한 뒤 "'…'을(를) 열어 그 안의 비밀번호를 이 컴퓨터에 저장했습니다. 구성은 다음에 다시 시작할 때 복원됩니다."라고 알립니다. 그다음부터는 아래에 적은 평범한 복원이고, 목록에 남는 백업이 무엇이 도착했는지의 기록이므로 같은 복원을 나중에 내보내기 파일도 그 암호도 없이 되풀이할 수 있습니다. 내보내기 파일 자체는 결코 바뀌지 않으므로 같은 파일이 세 번째 컴퓨터에서도 열립니다.

이 두 쪽은 어느 쪽도 에이전트의 몫이 아닙니다. 내보내기 도구도 없고 에이전트 페이지에서 내보내기 파일을 복원할 방법도 없습니다. 암호는 운영자의 것이고, 에이전트가 지어내거나 건네받은 암호는 대화 기록에 남기 때문입니다. backup_list는 내보내기 파일에 표시를 달고(portableExport), backup_restore는 이 페이지를 가리키며 물립니다. "'…' is a configuration export for another machine. It carries its stored passwords sealed under the password chosen when it was written, so it is restored from Settings, Backups, where that password can be typed."

목록

백업과 내보내기 파일은 하나의 목록을 함께 쓰며 최근 것부터 나열됩니다. 둘에 대해 묻는 것이 어느 것을 복원할지로 같기 때문입니다. 줄마다 그 파일이 언제 만들어졌는지가 스테이션의 날짜와 시간 형식으로, 이어서 그것이 무엇인지(백업 또는 다른 컴퓨터로 내보내기), 이름과 크기가, 그리고 메모가 있으면 메모가 나옵니다. 크기는 그 파일이 차지하는 전부이며, 그것이 곧 지웠을 때 비는 전부입니다. 백업이면 데이터베이스 사본과 메모와 자산 스냅숏이고, 이미지를 쓰는 스테이션에서는 그 자산 쪽이 더 큰 절반입니다. 내보내기 파일이면 그 압축 파일 하나입니다. 목록은 페이지가 열릴 때와 여기의 명령마다 끝난 뒤에 읽으므로, 에이전트 페이지를 거쳐 에이전트가 만든 백업은 다음에 페이지를 열 때 나옵니다.

명령 하는 일 흐려지는 때(상황) 그려지지 않는 때(역할)
복원 백업에서는 "구성 복원"이라고 묻습니다. "앱을 다시 시작할 때 '…'이(가) 현재 구성을 대신하도록 예약하시겠습니까? 현재 구성은 먼저 자동으로 저장됩니다. 기록된 실행 기록은 영향을 받지 않습니다." 예와 아니요가 있습니다. 예를 누르면 복원을 예약하고 "다음에 다시 시작할 때 '…'이(가) 복원됩니다."라고 알립니다. 내보내기 파일에서도 정하는 일은 같고, 대신 위에서 설명한 대화 상자로 암호를 묻습니다. 유닛이 실행 중인 동안("유닛이 실행 중인 동안에는 구성이 잠깁니다."). 결코 없습니다.
삭제 "백업 삭제"라고 묻습니다. "백업 '…'을(를) 영구히 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다." 예를 누르면 데이터베이스 사본과 메모와 자산 스냅숏을 지우고 "백업 '…'을(를) 삭제했습니다."라고 알립니다. 내보내기 파일은 그것이 무엇인지와 함께 사라지는 것으로 이름을 붙입니다. "내보내기 삭제", "내보내기 '…'을(를) 영구히 삭제하시겠습니까? 그 안에 담긴 비밀번호도 함께 사라집니다. 이 작업은 되돌릴 수 없습니다.", 그다음 "내보내기 '…'을(를) 삭제했습니다." 이 페이지가 그려져 있는 동안에는 결코 흐려지지 않습니다. 결코 없습니다.

복원은 다음 경우에 이유를 상태 표시줄에 담아 물립니다. 기록이 진행 중일 때("기록이 진행 중입니다. 구성 복원을 예약하기 전에 기록을 멈추십시오."), 그 파일이 아예 구성 백업이 아닐 때("'…'은(는) Ganter Lab 구성 백업이 아니므로 복원할 수 없습니다."), 그리고 이 버전이 모르는 데이터베이스가 쓴 것일 때, 예를 들어 더 새 릴리스가 쓴 것일 때("'…'은(는) 이 버전의 Ganter Lab이 복원할 수 있는 구성 백업이 아닙니다. 다른 데이터베이스의 것이거나 더 새 버전의 애플리케이션의 것일 수 있습니다.")입니다. 삭제는 예약된 백업을 물립니다. "'…'은(는) 복원하도록 예약되어 있습니다. 예약된 복원을 먼저 취소하십시오." 얼마나 오래 보관할지는 사용자의 몫입니다. 여기의 어떤 것도 스스로 백업을 지우지 않고, 에이전트는 백업을 만들고 나열할 수는 있어도 지울 수는 결코 없습니다.

복원이 예약되었습니다

예약하면 데이터 뿌리에 표식이 적히고 카드에 복원이 예약되었습니다라는 주의 알림 띠가 나옵니다. "앱을 다시 시작하면 '…'이(가) 복원됩니다. 현재 구성은 먼저 자동으로 저장됩니다." 그리고 표식을 지우고 "예약된 복원을 취소했습니다."라고 알리는 취소 단추가 붙습니다. 앱을 다시 시작하기 전까지는 아무것도 바뀌지 않습니다.

다음에 시작할 때, 무엇이든 구성을 열기 전에, 앱은 그 파일을 다시 확인하고, 대신될 구성을 "'…'을(를) 복원하기 전에 자동으로 뜬 스냅숏입니다."라는 메모와 함께 config-pre-restore-<timestamp>.db로 뜨고 그 자산 사본도 함께 뜨며(그래서 복원 자체도 되돌릴 수 있습니다), 데이터베이스 파일을 바꾸고, 백업이 자산 스냅숏을 담고 있으면 그것을 되살리고, 표식을 지웁니다. 이어서 재개해야 할 Process 실행이 있는 시작은 대신 미룹니다. 복원은 "현재 구성으로 Process 실행을 재개해야 하므로 복원을 예약된 채로 둡니다."라는 이유와 함께 예약된 채로 남고 나중의 시작에서 적용됩니다. 사라졌거나 확인을 통과하지 못한 백업 파일은 알려지고 표식이 지워지므로 다음 시작들이 붙잡히지 않습니다. 데이터베이스가 바뀌고 나면 자산 복사 같은 뒷 단계가 실패하더라도 복원은 적용된 것으로 셉니다. 그 실패는 이전 이미지를 어디에 저장했는지 부르는 경고로 알려집니다.

구성을 복원했습니다: 확인이 필요합니다

복원이 적용된 뒤에 카드는 두 번째 주의 알림 띠, 구성을 복원했습니다: 확인이 필요합니다를 보여 줍니다. "복원된 설정, 모델, 유닛, 절차, 코드, 카운터, 라벨 프린터 대기열을 확인하고 이력을 검증하십시오. 실행 이력 목록이 비어 있거나 맞지 않을 때만 실행 이력 색인을 다시 만드십시오." 닫기를 누를 때까지 남아 있습니다. 복원은 스스로 아무것도 맞춰 주지 않습니다. 대기열 이름은 구성으로 돌아오지만 Windows 프린터를 찾아내거나 고쳐 주지는 않고, 카운터는 백업이 담고 있던 값 그대로입니다.

실행 이력 색인 다시 만들기

명령 하는 일 흐려지는 때(상황) 그려지지 않는 때(역할)
다시 만들기 "실행 파일을 훑어 기록된 실행 목록을 다시 만듭니다. 복원이나 파일 이동 뒤에 이력 목록이 불완전해 보이면 사용하십시오. 실제 근거는 실행 파일 자체입니다." "이력 색인을 다시 만들었습니다: N개 복구, N개 제거, N개 읽을 수 없음(실행 파일 N개)."이라고 알립니다. 다른 백업 명령이 도는 동안. 결코 없습니다.

다시 훑기는 색인 항목이 없는 실행 파일에 그 항목을 돌려주고(그 실행 자신의 얼어붙은 스냅숏에서, 또는 앱이 실행 도중에 죽었으면 실패한 실행으로), 파일이 사라진 항목은 버리며, 읽을 수 있는 모든 파일에서 생산성 집계를 다시 만들고, 남의 것이거나 망가진 .db는 읽기 전용으로 정체를 확인한 다음 건드리지 않고 읽을 수 없음으로 세고 넘어갑니다. 그런 다음 Process 페이지가 보여 주는 생산성 스냅숏을 새로 고칩니다. 실행 파일에 기록된 증거는 결코 건드리지 않습니다.

이 구역이 하지 않는 일

자동 백업도 예약 백업도 없고, 보관 기간 정책도 없으며, 다른 곳으로의 백업도 없고(폴더에서 파일을 복사하십시오), 부분 복원도 없으며, 실행 이력의 복원도 없습니다. 기록된 실행은 데이터 뿌리 아래에 있는 자기 파일이고, 색인은 그 파일에서 다시 만듭니다. 내보내기도 다른 곳으로의 백업은 아닙니다. 같은 폴더에 쓰이므로, 그것을 필요로 하는 컴퓨터까지 옮기는 일은 여전히 사용자의 몫입니다. 실행을 가져오고 내보내는 일은 이력 페이지에서 합니다.