반응형

Window 운영체제에 내장된 작업스케줄러를 설명드리겠습니다.

 

먼저 작업스케줄러를 실행하는 방법은 다음과 같습니다.

 

  • 시작 메뉴를 열고, "작업 스케줄러" 또는 **"Task Scheduler"**를 검색
  • 또는 Win + R을 눌러 실행 창을 열고, taskschd.msc를 입력
  • 시작 메뉴(Start Menu) -> 프로그램(Programs) -> 관리자 도구(administrative tools) -> 작업스케줄러(task scehduler)
  • 탐색기에서 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools

 

 

 

 

별도의 설정을 하신 적이 없다면 실행하면 아래와 같이 나오실 것입니다.

 

 

 

 

 

먼저 추가할 작업을 모아둘 폴더를 하나 만들겠습니다.

 

 

 

 

TestFolder라는 이름으로 만들었습니다.

새로만든 폴더를 클릭하고 우측의 Create Task 또는 가운데 하얀 부분에서 우클릭 후 Create new Task를 클릭합니다.

 

 

그러면 작업을 생성할 창이 나오는데요, 이름과 설명은 자율적으로 정하셔도 되겠습니다.

 

 

Run whether user is logged on or not.은 피시가 켜져있다면

사용자로그인이 되어있지 않아도 프로그램을 돌릴지 여부입니다.

 

이 설정은 관리자 계정이어야 가능합니다.

보통은 개발자가 서버에 세팅한다고 생각한다면 주기 작업 등에는 아래와 같이 세팅하시면 되고,

기본 값은 Run only when user is logged on 입니다.

 

 

 

 

 

 

다음은 Trigger 입니다. 영단어 뜻에서와 같이, 어떤 조건이 작업을 실행하게 만들지 정하는 탭입니다.

하단에 new를 눌러보시죠.

 

 

 

 

아래와 같은 창이 나올텐데요. Begin the task에는 조건이 나옵니다.

순서대로

 

주기작업

PC 로그온시

부팅시

...

등이 가능합니다.

 

 

 

이 포스트에서는 주기작업과 PC로그온, 부팅 세가지를 설명드리겠습니다.

1. At start up - 부팅시

 - 단순해서 가장 먼저 적었습니다. 부팅시에는 별도의 디테일한 조건을 달 수 없습니다.

부팅시 이루어질 작업을 action에서 추가하면 되겠습니다.

 

 

2. At log on - PC 사용자 로그온시

 - 모든 사용자 또는 특정 사용자가 로그온 할때를 지정할 수 있습니다.

 

 

3. On a schedule - 계획에 따라 작업

 - 현업에서는 이 기능을 가장 많이 썼던 것 같습니다. 주기작업, 일정 작업

 

 

One time은 지정한 일시에 한 번 실행되도록 하는 trigger 입니다.

 

 

 

 

Daily는 지정한 일시부터 1일 간격으로 반복 하도록 합니다.

 

 

Weekly는 지정한 일시부터 매주 반복하며, 요일도 지정할 수 있습니다.

매주 x요일,y요일 n시 n분을 지정하여 사용할 수 있게 되는 것이죠.

 

Monthly는 일년동안 실행될 날짜들을 모두 추가할 수 있습니다.

어느 월에(복수선택, 전체선택, 단일선택 모두 가능), 몇 일에( 복수선택, 전체선택, 단일선택 모두 가능하며 마지막날도 지정가능) 또는 어느 월에 몇번째 무슨요일에 이렇게도 지정이 가능합니다.

 

 

그런데 이런생각도 하실 수 있습니다. 나는 일간보다 더 작은 간격으로 작업을 반복하고 싶은데?

5분간격 1분간격 1시간간격

 

 

그런 경우에는 하단의 Advanced settings를 이용하시면 됩니다.

임의 간격 지정이 가능하며

repeat task every은 반복될 시간으로 select box를 눌러서 나오는 시간 외에도 숫자 + 단위를 기입하면 입력이 가능합니다. for a duration of 는 반복될 기간입니다.

 

프로그램에 이상이 있을 경우 stop task 류의 세팅을 이용 하실 수 있습니다. 너무 오래돌아가면 작업을 종료시킨다. 라는게 Stop task if it runs longer than: 입니다.

 

 

 

지정하고자 하는 Trigger를 입력하셨다면 Ok버튼을 눌러줍니다.

 

 

Action으로 넘어가겠습니다.

action 탭에서 new 버튼을 클릭하면 다음과 같은 action을 취할 수 있습니다.

다른 조건들이 deprecated 되었기 때문에 프로그램 실행이 가능하다고 생각하시면 되겠습니다.

program/script의 browse...버튼을 통해 실행할 스크립트 파일이나 프로그램을 추가하면 됩니다.

이메일 보내기도 발송프로그램을 만들어서 실행한다면 동작합니다.

 

 

Condition과 Settings 탭은 이미 설정한 내용이 겹쳐있거나 특별히 설명이 필요한 부분이 없으니 읽어보시면 되겠습니다.

Ok를 누르면 로그인한 계정 또는 관리자 계정의 비밀번호를 기입합니다.

 

 

 

지정한 일자에 실행되는 작업스케줄러를 등록하였습니다.

 

반응형
반응형

처음 개발을 공부할때 자바스프링을 인텔리제이를 구매해서 사용하겠다고 맥북을 사고는 homebrew를 애용했어요. 자바 스프링을 사용하던 회사에 문제가 많아 3개월 후 퇴사하고나서 c# .net을 사용하는 회사로 이직했는데요.

 

window를 사용하는 곳에 입사하다보니 window 노트북도 다시 세팅을 했고 맥북의 homebrew 같은 친구가 window에 있을까? 고민 하던 중 chocolatey를 알게 됐었죠. 한참을 당연하게 생각하고 있다가 최근에 RabbitMQ를 설치할 일이 있어서 설치 문서를 보다가 chocolatey가 있어서 겸사겸사 포스트합니다.

 

 

chocolatey의 공식 홈페이지 https://community.chocolatey.org/

 

Community

Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey integrates w/SCCM, Puppet, Chef, etc. Chocolatey is trusted by businesses to manage software deployments.

community.chocolatey.org

 

 

공식 홈페이지를 접속하면 Install Chocolatey가 바로 보입니다.

 

 

먼저 선행조건 - window, powershell v2+ (윈도우 10, 11 사용자는 그냥 된다고 보셔도 무방합니다.)

.net 4.8 설치 

 

영어를 할 줄 아신다면, 공식 홈페이지 쭈욱 따라 가시면 됩니다.

 

영어가 익숙치 않은 분들을 위한 포스팅에 가깝다고 보시면 되겠습니다. 그러나 업계 특성상 시간이 조금만 흘러도 내용이 변경 되기 때문에 공식 홈페이지와 이 포스트간에 차이가 있다면 무조건 공식 홈페이지를 따르시는 것이 좋습니다. 영어를 설사 거의 하시 못하더라도 명령어 - copy 부분은 개발자니까 알아보실 거라고 믿어요!

 

 

설치가 완료되면 powershell을 실행합니다.

 

powershell의 Get-ExecutionPolicy의 기본값이 Bypass가 아닌 경우가 많은데, 

 

Get-ExecutionPolicy를 cmd에서 입력 후에 Restricted가 나오면 

Set-ExecutionPolicy AllSigned 또는 Set-ExecutionPolicy Bypass -Scope Process를 입력하시면 됩니다.

 

 

다음 

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

를 입력합니다.

 

(계속 말씀드리지만 2024년 8월 20일 기준으로 번역에 가깝기 때문에 이러한 명령어의 복사 자체는 포스트의 것이 아닌, 공식 홈페이지를 방문하여 기술된 문구를 복사하는 것을 권장드립니다. 시간이 경과하여 문구가 바뀐 것은 포스트에서 팔로우 할 수 없음을 계속해서 말씀 드립니다.

 

 

 

설치가 완료된 것이예요! 명령어를 알고 있는 패키지는 cmd를 치셔도 되고

 

공식 홈페이지에서 검색을 하셔도 좋습니다. Looking for Packages를 클릭 후 검색하시면 되는데요,

 

본문 초에 말씀드렸지만 RabbitMQ를 설치하려던 것이기 때문에 그것을 검색헀어요.

cmd나 powershell에서 우측의 복사버튼을 누른뒤 붙여넣기 하시면 설치가 실행됩니다!

반응형
반응형

사내에서 테스트 서버 구성할때 Vmware Workstation Player 17버전을 쓰고 있었는데

player 버전은 snapshot이나 export to cvf 등이 막혀있어서 사용에 매우 불편했어요

 

그런데 17보다 이전버전의 Vmware Worksation Pro 라이센스가 있다는 것을 최근에 알아서, 이미지를 복사했는데 최근버전의 것을 이전버전으로 옮기는게 안되더라구요.

 

그러다 ovf로 변환 후 넘기는 방법이 있다는 것을 알게되었답니다. vmware workstation의 이전버전 뿐만아니라 hyper-v로의 이전 등 다른 가상머신 툴로도 옮기기가 가능하다고 하더라구요.

 

 

방법입니다. 다만, 저는 window에서 실행하고 있는 점을 유의해주세요! linux서버는 다루지 않고있습니다.

 

vmware Workstation player 17를 설치시에는

C:\Program Files (x86)\VMware\VMware Player\OVFTool 경로에 ovftool.exe라는것이 있습니다.

program Files에 있을 수도 있어요, 버전이 다른 경우 비슷한 경로를 탐색해보시면 되겠습니다.

 

 

 

 

찾으셨다면 cmd를 열어줍니다.

Win + R 로 cmd를 입력해주세요.

 

 

cmd 를 여시고 아까 ovftool.exe가 있던 경로를 탐색기에서 복사해줍니다.

 

위 스크린샷 처럼 탐색기에서 경로부분을 클릭 후 ctrl + c를 눌러주면됩니다.

또는 직접 기입하셔도 상관은 없습니다. 편리하게 알려드리려는 거니까요!

 

 

복사한 경로를 cmd 창에서 'cd'입력 -> 띄어쓰기 -> ctrl + v로 붙여넣기 해줍니다.

(저의 경우 ) ==> cd C:\Program Files (x86)\VMware\VMware Player\OVFTool

 

그러면 해당 폴더로 이동이 되는데요,

 

 

여기서 ovftool "가상머신의 경로 (.wmx 파일의 경로)" "ovf파일을 만들경로\filename.ovf"를 입력해 줍니다.

 

만일 어떤 에러가 난다면

ovftool  --X:logFile=ovftool-log.txt --X:logLevel=verbose "가상머신의 경로 (.wmx 파일의 경로)" "ovf파일을 만들경로\filename.ovf" 를 입력해주면 어떤 원인이 있는지 확인해볼 수 있습니다.

 

저같은 경우는 아래와 같이

Opening VMX source : (가상머신).vmx 

Error: Failed to open disk : (가상머신).vmdk

Completed with errors

라는 에러가 계속 났어요. 그래서 디버깅 방법을 찾아봤던 것이지요.  

 

이미지 손상에 대한 말로 repair 프로그램이 있다는데, vmware workstation player 버전에서는 존재하지 않고, vmware workstation  pro에만 있는 프로그램이었죠.

 

그래서 repair 프로그램을 구글링 하다가,

어제 가상머신을 종료하지 않고 피시를 종료했던 것이 기억나서, 가상머신을 다시 킨 후 정상적으로 종료를 했더니 문제가 해결되었습니다.

 

이 문제가 실제로 repair 프로그램으로 해결이 될 수 있는 부분이긴 했으나, 불필요한 과정을 겪지 말고 가상머신을 켜서 다시한번 정상종료를 해보시면 어떨까요. player 사용자분들은 export to cvf도 할 수 없고, vmware-vdiskmanager -R "<path of the vmdk(virtual disk>" 명령줄을 칠 대상인 vmware-vdiskmanager.exe 프로그램이 없기 때문에, 저와 같은 증상이 있는 경우 꼭 한번 해보시면 좋을 것 같습니다.

 

 

변환 성공! 이제 Pro license가 있는 Vmware Workstation을 사용하러 가겠습니다.

 

해결에 도움이 되시면 좋겠네요.

반응형
반응형

 

윈도우11의 기본배경화면

 

 

 

[한글 Windows 10의 특징]

 

1. GUI 사용(Graphic User Interface)

  - 키보드로 명령어를 직접 입력하지 않고, 아이콘이나 메뉴를 마우스 등으로 선택하여 작업을 수행하는 작업환경

  - 초보자도 쉽게 사용할 수 있다.

 

2. 선점형 멀티태스킹(Preemptive Multi-tasking) 

  - 운영체제가 각 작업의 CPU 이용시간을 제어하여 앱실행 중 문제가 발생하면 해당 앱을 강제 종료, 모든 시스템 자원을 반환하는 멀티태스킹 방식

  - 하나의 앱이 CPU를 독점하는 것을 방지하여 시스템 다운 현상없이 안정적 작업 가능

 

3. 플러그 앤 플레이(Plug & Play)

  - 컴퓨터가 시스템에 하드웨어를 설치했을 떄, 해당 하드 웨어를 사용하는데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 것

  - 하드웨어와 소프트웨어 모두 플러그 앤 플레이를 지원하여야 가능하다.

  - 하드웨어의 IRQ, DMA 채널, I/O 주소 들이 충돌하지 않도록 설정한다.

ex) 마우스나 usb를 포트 연결하면 자동으로 인식하고 사용할 수 있는 것

 

4. OLE(Object Linking and Embedding) 

 - 다른 여러 앱에서 작성된 문자나 그림 등의 개체를 현재 작성 중인 문서에서 연결(Linking)하거나 삽입(Embedding)하여 편집할 수 있게 하는 기능

 - OLE로 연결된 이미지 원본 앱에서 수정 시 해당문서에도 반영됨

 

5. 255자까지 파일이름 설정가능

 - 파일이름은 255자까지 가능

 - NTFS에서는 유니코드 문자를 지원하여 세계 여러 문자를 파일이름에 사용가능

 - 파일 이름에 \ / : * ? " < > |를 제외한 모든 문자 및 공백을 사용할 수있다.

    : 경로나 태그 등에 쓰이는 특수문자가 안되는 걸로 생각하고 외웠다.

 

6. 64bit 데이터 처리

 - 32비트보다 더 많은 양의 데이터를 빠르게 처리할 수 있으며 사용자에게 빠르고 효율적인 시스템을 구축

    : 참고로 운영체제가 64비트면 사용할 어플리케이션도 64비트 호환되는 앱을 사용해야하고,

      32비트 앱을 64비트 버전의 Windows에서 실행하면 동작하지 않는다. 마찬가지로 64비트 앱을 32비트 버전의 Windows에서 실행하면 동작하지 않는다.

------------------------------------------------------------------------------------------------------------------------------------------------------------

 

[파일 시스템]

 : 보조기억장치에 저장되는 파일에 대해 수정, 삭제, 추가, 검색 등의 작업을 지원하는 관리 시스템

   -> 아래 파일 시스템의 종류는 WIndows에서만 사용가능

 

 - FAT : MS-DOS 및 기타 Windows 기반의 운영체제에서 파일을 구성할 떄 사용되는 시스템

   # 파티션 용량은 2GB제한

 

 - FAT32 : FAT에서 파생되어 보다 큰 드라이브를 사용할 수 있고 보다 클러스터가 작아 하드디스크 공간의 낭비를 줄일 수 있다.

 

 - NTFS: 성능, 보안, 디스크 할당, 앉어성, 속도 면에서 FAT, FAT32보다 뛰어난 기능 제공, 시스템 리소스 사용 최소화

    # 파일 및 폴더에 대한 엑세스 제어를 유지

    # 제한된 계정을 지원

    # 최대 볼륨의 크기: 256TB

    # 파일크기는 볼륨의 크기에 의해서만 제한

    # 비교적 큰 오버헤드가 있어 400MB이상의 볼륨에서 효과적

 

반응형
반응형

https를 사용하려면 필요한 ssl인증서, 서비스할 페이지도 아니라서 유료결제는 부담되시죠?

 

openssl을 통해 무료로 ssl인증서를 발급받는방법에 대해 설명드리겠습니다.

 

참고로 유효기간이 존재하고 기본적으로 한달입니다. 장기적으로 사용하려면 설정을 추가하거나 매월 발급받으셔야합니다. 

 

먼저 openssl을 설치해야겠죠,

 

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions (slproweb.com)

 

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

Minimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP or later 128MB RAM 500MHz CPU 300MB hard drive space March 14, 2023 - OpenSSL 3.1 is available. Also, Happy Pi Day. Users

slproweb.com

위 링크로 들어가 적절한 openssl을 다운받고 설치합니다.(MSI를 권장합니다.)

 

그 뒤 환경변수를 설정해야합니다.

 

환경변수를 설정하는 곳으로 진입하는 방법은

 

1. 개발자스러운 방법: 시작 버튼 우클릭(win + R) -> sysdm.cpl -> 고급 탭 -> 환경변수

 

2. 탐색기를 실행 -> 내 PC우클릭 -> 속성 -> 시스템 탭(이미 열려있음) -> [장치 사양] 아래 [관련링크] 내 [고급 시스템 설정] -> 고급탭 -> 환경변수

내 pc를 우클릭한 화면

 

 

하단 [시스템 변수]에 있는 [Path]를 편집-> [새로만들기] -> openssl 설치폴더의 경로 내 bin폴더 위치를 입력

 

(그 위치 경로는 대게 C:\Program Files\OpenSSL-Win64\bin 형식인데 독자의 방문시기나 다운 버전 등에 따라 달라질 수 있음!)

 

 

[[[[[[[[[[[[[ 발급 받아보자! ]]]]]]]]]]]]]]]

이제 명령프롬프트 창을 엽니다.

 

 1. 개인키 생성 : win + R -> cmd -> Enter -> cd [경로] (적당히 발급할 파일을 위치할 경로로 이동) -> 아래 명령어를 치고 

openssl genrsa -out [키파일명].key 2048

 

2. 인증서 신청파일 생성: 아래 명령어 치기

openssl req -new -key [위에서생성한키파일명].key -out [인증서신청파일명].csr

치고나면 위 캡처처럼 국가 명, 지역명, 위치 등 적으라고 나오는데 임시 테스트용도로나 발급받을만한 무료발급이기 때문에 적당히 적고싶은 걸 적으면된다. 다만 Common Name에 사용할 서버 도메인을 입력해야한다고 한다.

 

3. 인증서를 생성

openssl x509 -req -in [위 발급 csr파일명].csr -signkey [위 발급 key파일명].key -out [발급받을인증서파일명].crt

여기서 끝나실 분들도 있을 것이지만 iis에 올리기 위해 발급받으신다면 한 단계가 더 남아있습니다.

 

 

4. pfx파일로 변환 : iis에서는 pfx 확장자를 받을 수 있기 때문에 변환을 해주어야 합니다.

openssl pkcs12 -export -in [위 crt파일].crt -inkey [위 key파일].key -out [생성할파일명].pfx

이제 서버에 이 인증서를 설치하면 사용할 수 있습니다.

반응형
반응형

vs code가 제일 만들기 편하지만 .txt로 만든 뒤 확장자를 .bat로 바꿔 배치파일로 바꿔줘도 무방하다.

 

 

개발한 파일 소스를 한줄한줄 설명을 하는 방식으로 진행한다.

모든 보라색 글씨를 지우고 만들면 배치파일로써 작동할 것이다.

 

 

그러나 이 레지스트리는 백업 즉,

레지스트리를 보관할 파일로 복사 후 존재하는 레지스트리를 삭제하기 때문에

 

"지워도 되는 레지스트리"를 확인하고 실행하거나

"레지스트리 삭제" 부분을 설명을 이해한 후 제거하고 실행하기를 권장한다.

 

잘못된 실행으로 인한 피해는 글쓴이가 보상해줄 수 없다.

 

설명을 시작하겠다.

 

-----------------------------------------------------------------------------------------------------------------

@echo off 를 적어주고

 

set BackupDirectory=C:\backupFolder 레지스트리를 백업할 경로를 변수에 담아 준다(set)

set BackupFile=%BackupDirectory%\backupregistrylist.reg 해당 경로에 저장할 파일명과 확장자를 적어준다(set)

 

(%변수%은 shell script에서 기본적으로 변수를 사용하는 방법이다.)

 

set RegistryPath=HKEY_CURRENT_USER\할튼\백업할레지스트리경로 

ㄴ 특정 레지스트리를 찍기 뭐해서 백업하고자 하는 레지스트리를 각자 입력해서 set으로 변수에 담아준다.

 

reg query "%RegistryPath%" >nul 2>&1

if %errorlevel% equ 0 (

ㄴ 레지스트리가 있으면 이라는 뜻이다.

     정확히는 레지스트리를 체크하고 에러가 나지 않았으면 이라는 뜻이다.
    echo "%RegistryPath%" exists. 

    ㄴecho는 파이썬에서 print() 또는 c#에서 Console.Write() 정도로 생각하면 된다. 
    rem 

    ㄴ rem은 대략적으로 "다음을 출력한다" 라고 생각하면 된다. 같은 줄에 쓴 글은 주석으로 처리된다.
        if not exist "%BackupDirectory%" (

        ㄴ BackupDirectory로 설정한 경로가 없으면
            mkdir "%BackupDirectory%"

            ㄴ make directory의 약자이다. 해당 경로를 만든다.
            echo %BackupDirectory% not exist. make directory.

            ㄴ 위에도 설명했다. 화면에 출력하는 용도이다.
        )
        reg export "%RegistryPath%" "%BackupFile%" /y

        ㄴ RegistryPath 경로의 레지스트리를 BackupFile위치로 write한다. /y는 덮어쓰기 허용을 말한다.
        echo registry backup success.
        ㄴ echo 생략


        reg delete "%RegistryPath%" /f

        ㄴ 레지스트리를 삭제한다 /f는 뭔가 사용중이어도 강제로 진행한다는 뜻이다.
        echo %RegistryPath% is deleted.

        ㄴ echo 생략
) else (
    echo %RegistryPath% not exists.

    ㄴ if문이 레지스트리가 있으면 이었기 때문에 이자리에는 없는 경우에 실행할 부분이 나온다.

    ㄴ 이 예제에서는 레지스트리 경로가 존재하지 않는다라고 출력했다.
)

 

-----------------------------------------------------------------------------------------------------------------

 

이 파일 실행 후 생성된 레지스트리 파일 backupregistrylist.reg를 실행하면 백업했던 레지스트리가 다시 설치된다.

 

그대로 따라 하는 과정에서 shell script 언어가 어떻게 쓰이는지 아주 간단하게 나마 받아들일 수 있기를 바란다.

 

반응형

+ Recent posts