일단, 파일 수정은 perl 이나 sed 를 이용하여 정규식을 이용하여 수정할 수 있습니다.
[root@host ~]# sed -r -i 's/datadir=[^ ]+/datadir=WANT_PATH/g' /etc/init.d/mysql
이런 식으로 변경이 가능 합니다. sed 와 정규식에 대해서 공부를 해 보시면 될 것 같습니다.
다만, /etc/init.d/mysql 을 왜 script 로 건드리려고 하는지는 모르겠으나, 별로 좋은 방법은 아닌 것 같습니다. 이 파일을 직접 건드리는 것 보다, 실행을 할 때 해당 파일의 복사본을 만들어서 변경하고 삭제 하는 것이 관리상으로는 더 좋을 것 같습니다.
질문은 남들도 알아 들을 수 있도록 해 주세요.
질문은 남들도 알아 들을 수 있도록 해 주세요.
1. mysqld runtime configuration 을 변경하고 싶은 겁니까?
2. mysqld 를 실행 할 때 datadir 원하는 곳으로 변경해서 실행 하고 싶은 겁니까?
3. mysqld 의 설정 파일을 shell script 로 변경 하고 싶은 겁니까?
모든 케이스를 다 고려해서 답변해 줄 사람은 없습니다.
답변을 받으시려면 원하는 범위, 구체적인 범위를 제시 하세요.
님의 질문에서 도대체 뭘 알려 드려야 할지 감이 잡히지를 않습니다.
제가 모호하게 질문을 드렸군요 ...
shell script를 통해 etc/init.d/mysql의 내용에서 datadir= 부분에 /usr/local/mysql/data로 경로를 잡아주길 원합니다.
잡아 준다는 표현 역시 애매합니다. 계속 스므고개
잡아 준다는 표현 역시 애매합니다. 계속 스므고개 한번 해 보시죠 ^^
shell script 로 /etc/init.d/mysql 파일의 datadir= 부분을 수정하고 싶다는 말인가요?
아니면 /etc/init.d/mysql 을 수정하는 건 아니고 그냥 datadir 을 다르게 실행하고 싶다는 얘기인가요?
P.S.
질문 잘 못한다고 비꼬는게 아니라, 제가 이해력이 딸려서 답변을 위한 정보를 구하기 위하여 스무고개를 시작 한 겁니다.
제가 모호하게 질문을 드렸군요 ...(2)
shell script 로 /etc/init.d/mysql 파일의 datadir= 부분을 수정하고 싶다는 말인가요?
ㄴ 네 맞습니다. 제가 질문을 못하는거였네요....
자 그럼 파일을 수정하는 것을 원하신 다는 얘기네요.
자 그럼 파일을 수정하는 것을 원하신 다는 얘기네요.
일단, 파일 수정은 perl 이나 sed 를 이용하여 정규식을 이용하여 수정할 수 있습니다.
이런 식으로 변경이 가능 합니다. sed 와 정규식에 대해서 공부를 해 보시면 될 것 같습니다.
다만, /etc/init.d/mysql 을 왜 script 로 건드리려고 하는지는 모르겠으나, 별로 좋은 방법은 아닌 것 같습니다. 이 파일을 직접 건드리는 것 보다, 실행을 할 때 해당 파일의 복사본을 만들어서 변경하고 삭제 하는 것이 관리상으로는 더 좋을 것 같습니다.
댓글 달기