본문 바로가기
FortiGate/ETC...

자동 스크립트 기능 활용 방법

by 에티버스이비티 2021. 1. 13.

FortiOS는 자동 스크립트(auto-script)를 설정할 수 있으며, 다양한 용도로 활용 할 수 있다.

단, 자동 스크립트의 출력이 default로 10M(사이즈 변경은 set output-size 명령어로 가능)로 RAM에 저장되므로, 여러개의 스크립트를 동시에 실행할 경우 메모리 계산을 잘해야 한다.

잘못 사용할 경우 Conserve-mode가 발생 할 수도 있다.

 

자동 스크립트는 설정된 출력 크기를 초과할 경우 자동으로 중지된다.

 

예) FortiGate의 config를 주기적으로 ftp 서버로 backup 하는 script

#config system auto-script
    edit "backup"
        set interval 120                     // 스크립트 실행 간격 (초)
        set repeat 0                          // 스크립트 실행 횟수. 0은 무제한. 0~65535
        set start auto
        set script "execute backup config ftp backup.conf 10.10.10.2 test test"
    next
end

 

 

여러줄의 명령어를 이용하여 script 설정도 가능하다.

 

eBT_FW # con sys auto-script
eBT_FW (auto-script) # edit status
new entry 'status' added

eBT_FW (status) # set repeat 3

eBT_FW (status) # set internval 5
eBT_FW (status) # set start auto

eBT_FW (status) # set script "
> get system status                               // 엔터키를 이용하여 줄바꿈
> get system performance status          // 쌍따옴표(") 전체 명령어 묶음
> "
eBT_FW (status) # end

 

위 스크립트는 자동으로 5초 간격으로 3번 실행된다. 실행된 결과는 아래의 명령어로 확인 가능하다.

exe auto-script result <script name>

저장된 내용은 리부팅을 하더라도 남아있어 확인 가능하다.

 

관련된 스크립트 명령어는 다음과 같다,

execute auto-script backup ftp/tftp [script name] : 스크립트 결과를 백업
execute auto-script delete [script name] : 스크립트 결과를 삭제
execute auto-script result [script name] : 해당 스크립트 결과를 보여줌
execute auto-script status : 현재 running중인 스크립트
execute auto-script start/stop [script name] : 해당 스크립트를 수동으로 시작/종료
execute auto-script stopall : 모든 스크립트를 강제 종료

 

 

언제 발생할지 모르는 상태를 대비하여 지속적으로 모니터링을 원하면,

여러줄의 명령어를 이용하여

"필요한 정보를 출력하는 명령어

해당 결과를 ftp로 백업하는 명령어

해당 결과를 삭제하는 명령어"

로 구성하면 오랜시간동안 scrip로 정보를 출력하더라도 메모리 문제를 발생하지 않는다.

 

스크립트를 작성한후 백업이 잘 되는지? 삭제가 잘되는지? 꼭 확인하는것을 권한다.

#config system auto-script
    edit "backup"
        set interval 300                   
        set repeat 0                         
        set start auto
        set script "get system status                             
get system performance status         
execute auto-script backup ftp status 10.10.10.10 test test

execute auto-script delete backup"
    next
end

 

댓글