티스토리 뷰
운영을 하다보니 rm 명령어로 인하여 크고 작은 사고를 경험했다... 보고하기에도 참... 민망한 사고지만 쉽게 일어날 수 있는 문제이기 때문에 삭제 명령어 사용시 사고 방지를 위한 스크립트를 정리하였다.
해당 스크립트는 'rm' 명령어 사용시 해당 서버의 hostname 정보를 사용자가 입력해야만 수행할 수 있는 스크립트이다.
Shell Script
#!/bin/bash
# 사용자로부터 hostname 입력 받기
read -p "Enter hostname to confirm: " user_hostname
# 현재 시스템의 hostname 가져오기
current_hostname=$(hostname)
# 입력 받은 hostname과 현재 시스템의 hostname이 일치하는지 확인
if [ "$user_hostname" == "$current_hostname" ]; then
echo "Hostname confirmed. Proceeding with rm command."
rm "$@"
else
echo "Hostname does not match. Aborting rm command."
exit 1
fi
Python
#!/usr/bin/env python3
import os
import socket
# 사용자로부터 hostname 입력 받기
user_hostname = input("Enter hostname to confirm: ")
# 현재 시스템의 hostname 가져오기
current_hostname = socket.gethostname()
# 입력 받은 hostname과 현재 시스템의 hostname이 일치하는지 확인
if user_hostname == current_hostname:
print("Hostname confirmed. Proceeding with rm command.")
# rm 명령어 실행
os.system("rm {}".format(" ".join(os.sys.argv[1:])))
else:
print("Hostname does not match. Aborting rm command.")
alias 설정
- .zshrc나 .bashrc안에 아래 내용 추가
- 터미널을 사용할 때마다 해당 alias 적용
- rm 명령어 사용시 스크립트로 대체
alias rm='/{confirm_rm.sh path}/confirm_rm.sh -i'
적용 후 예시
[root@server-hostname ~] # rm test_file
Enter hostname to confirm: Incorrect-hostname # 잘못된 Host Name 입력
Hostname does not match. Aborting rm command.
[root@server-hostname ~] # rm test_file
Enter hostname to confirm: Correct-hostname # Host Name 정상 입력
Hostname confirmed. Proceeding with rm command.
remove test_file? y
'CS' 카테고리의 다른 글
대용량 Heap Memory 분석 방법 (feat.MAT) (1) | 2024.01.21 |
---|
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- MAT
- 빅데이터
- hadoop
- Discovery Rule
- prometheus
- Apache Nifi
- flink
- Apache
- exporter
- 실시간처리
- openjdk1.8
- nifi.flowcontroller.autoResumeState
- namenode
- hdfs
- error
- Nifi Architecture
- java8
- nifi
- Nifi Service
- Dataflow
- spark driver
- bigdata #data_mesh
- flow.xml.gz
- Bigdata
- OOM
- Item Prototypes
- lld
- zabbix
- 설정에러
- Federation
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함