320x100
320x100

WSL 환경의 경우 시스템에 대한 설정이 불가하여 

일반 리눅스 환경과 달리 시작 프로그램을 등록할 수 없다.

때문에 호스트 환경인 윈도의 작업 스케줄을 통해 WSL에 명령어를 전달하는 방식으로 실행해야 한다. 

 

 

 

1. WSL 환경에서 쉘파일 작성 

#!/bin/bash
sudo service jenkins start

: 경로를 반드시 기억

: 저장 후 chmod 755로 권한 부여

 

 

 

 

 

2. 윈도 작업 스케줄러 설정

시작 > 실행 > taskschd.msc

작업 스케줄러 라이브러리 > 새폴더 > 폴더 생성

 

 

 

 

3. 작업 생성 및 일반 설정

만든 폴더 > 작업 만들기 > 일반탭 >

이름 / 사용자의 로그온 여부에 관계없이 실행 체크, 가장 높은 수준의 권한으로 실행 체크

 

 

 

 

 

4. 트리거 설정 (실행 조건 설정)

 

트리거탭 > 새로만들기 > 작업 시작 (로그온 할때) > 특정 사용자 (주 사용 계정 선택)

 

 

 

 

 

5. 스케줄러의 동작 명령 설정

 

동작탭 > 새로만들기 > 동작 (프로그램 시작)

 > 동작: C:\Windows\System32\wsl.exe
 > 인수추가 (옵션): bash 아까만든젠킨스실행쉘파일

 

 

 

 

 

※ 다른 방법

1. WSL 기본 사용자 변경 (cmd)

ubuntu config --default-user root

 

 

2. VB 스크립트 작성 

set ws=wscript.createobject("wscript.shell")
ws.run "C:\Windows\System32\bash.exe -c '/usr/local/bin/autostart.sh'",0

: WSL 환경의 /usr/local/bin/autostart.sh가 실제로 존재해야함

 > 해당 환경에 쉘파일 생성 후 755 권한 부여

 

 

3. 스케줄러 등록

: 스케줄러에 시작할때로 설정

 

 

 

 

 

 

 

Refference

 

윈도우 시작시 WSL bash 스크립트 자동 실행

윈도우가 시작되었을 때 WSL bash 스크립트의 자동 실행이 필요한 경우가 있다. 이 스크립트에 sshd, crond, apache, mysql or postgresql 등과 같은 데몬을 시작시키는 일련의 명령들이 기술될 수 있다. 이

jrr.kr

 

300x250
728x90