Search

[Linux] 계정,그룹만들기

Linux 2009.10.05 19:53 Posted by 애플자라
서버 접근후 /data4 폴더를 만들고 solution1 계정, solution1 그룹을 줘보자.

cd mkdir data4 // 폴더생성

vi /etc/passwd // 계정과 그룹이 있는지 검사

groupadd solution1 // 그룹생성

useradd -g solution1 -d /data4 solution1 // user에 지정폴더와 그룹을 준다

passwd solution1 // 패스워드 생성

su - solution1 //확인

[solution1@firststep data4]$ pwd
/data4
[solution1@firststep data4]$ ls -al
total 32
drwxr-xr-x    3 solution1 solution1     4096 Oct  5 14:52 .
drwxr-xr-x   26 root     root         4096 Oct  5 14:30 ..
-rw-------    1 solution1 solution1      124 Oct  5 14:53 .bash_history
-rw-r--r--    1 solution1 solution1       24 Oct  5 14:33 .bash_logout
-rw-r--r--    1 solution1 solution1      191 Oct  5 14:33 .bash_profile
-rw-r--r--    1 solution1 solution1      124 Oct  5 14:33 .bashrc
-rw-r--r--    1 solution1 solution1      120 Oct  5 14:33 .gtkrc
drwxr-xr-x    3 solution1 solution1     4096 Oct  5 14:33 .kde

'Linux' 카테고리의 다른 글

Tomcat Unix버전 JAVA메모리  (0) 2010.06.01
find grep 파일명 찾기  (0) 2010.01.05
[Linux] 계정,그룹만들기  (0) 2009.10.05
[Unix,Linux] Crontab  (0) 2009.10.05
rm시 물어볼때  (0) 2009.06.25
log안 특정문자만 추려 파일로 떨궈내기  (0) 2009.01.07

댓글을 달아 주세요

[Unix,Linux] Crontab

Linux 2009.10.05 19:48 Posted by 애플자라

리눅스 구버전시 사용

cd /etc
vi crontab 수정후

service crond restart

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

root권한으로

crontab -e 등록&수정
crontab -l 확인

vi /var/log/cron 크론로그 확인


#!/bin/sh

#날짜 디렉토리 찾기
Year=`date +"%Y"`
Mon=`date +"%m"`
Day=`date +"%d"`


# 로그파일들을 당일분만 남겨놓고 나머지는 삭제한다.

#/usr/bin/find /data2/namha/ems51/auto/tmp/$Year/$Mon/. -name '??' -mtime +1 -exec /bin/rm  -rf {} \;
#/usr/bin/find /data2/namha/ems51/auto/$Year/$Mon/. -name '??' -cmin +720 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/auto/agent_log/ -name '??' -mtime +7 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/auto/tmp/ -name '??' -mtime +14 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/auto/log/ -name 'send_*' -mtime +30 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/auto/log_process/ -name 'back_*' -mtime +30 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/auto/trace/ -name '??' -mtime +14 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/jupiter/agent_log/ -name '??' -mtime +7 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/jupiter/log/ -name 'send_*' -mtime +30 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/jupiter/log_process/ -name 'back_*' -mtime +30 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/jupiter/trace/$Year/$Mon/. -name '??' -mtime +14 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/sms_mass/agent_log/ -name 'db_*' -mtime +7 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/sms_mass/trace/ -name 'send_*' -mtime +14 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/sms_auto/agent_log/ -name '??' -mtime +7 -exec /bin/rm  -rf {} \;
/usr/bin/find /data2/namha/ems51/sms_auto/trace/ -name '??' -mtime +14 -exec /bin/rm  -rf {} \;


fine    : 파일을 찾는다

/export/home/tester   : /export/home/tester 디렉토리 이하에서 찾는다.
-mtime +30 : 파일 변경된 날짜가 30일 이상인 파일을 찾는다
-print : 파일을 찾아서 화면에 보여준다.
-exec : -print에 의해 출력되는 파일을 뒤에 오는 명령어의 인수로 입력된다.
rm -f  : -exec에 의해 받은 인수파일을 삭제한다.
{} \; - exec끝을 의미한다.
전체적인 의미는 /export/home/tester 디렉토리에서 파일내용이 변경된지 30일이 지난 파일을 찾아서 삭제하는 명령입니다.
위 명령어를 crontab에 등록 시킨후 매일 한번씩 실행 시키면 될것 같습니다.
보다 자세한 내용은 man find를 이용해 보세요

일정 주기로 처리하는 배치 프로세스의 경우 시스템 crontab에 등록 하여 자동화 시킬 수 있다.

(형식)
분        시     날짜    달         요일   하고싶은일( 쉘 스크립트로 만들어 두어도 됩니다.)
0-59    0-23   1-31    1-12      0-7
                                      (  0,7 : 일요일, 1: 월 2: 화 ... sun, mon 사용가능 )
(예제)
15 06 * * *   do_daily.sh       ; 매일 6시 15분에 do_daily 스크립트 실행                    
00 03 * * 7   do_weekly.sh    ; 매주 일요일 3시00 에 do_monthly 스크립트 실행
10 04 1 * *   do_monthly.sh  : 매월 1일 4시 10분에 do_monthly 스크립트 실행

======== 아래것은 ========

* crontab 명령

$ crontab [-e | -l | -r]


-e: 등록된 crontab을 편집한다.
-l: 등록된 crontab명령을 출력한다.
-r: 등록된 crontab을 삭제한다.


 * crontab 편집

$ crontab -e


위 명령을 입력하면 vi 환경에서 crontab 편집이 된다

20 13 * * 7 /home/batch/script/backup.sh
0 6 1 3 * /home/batch/script/logdel.sh
0 0 * * * /home/batch/script/daybatch.sh
30 * * * * /home/batch/script/hourbatch.sh
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/batch/script/checksys.sh

위 내용은 vi 환경에서 crontab 샘플이다.
구분자는 공백으로 앞에서 부터 분(0~59), 시(0~23), 일(1~31), 월(1~12), 주(1:월~7:일),  실행명령을 의미한다.  ","(컴마)를 구분자로 복수 시간을 지정할 수 있다.

backup.sh는 매주 일요일 13:20에 기상시간을 알리며 실행된다.
logdel.sh는 매년 3월 1일 06:00에 삼일절을 기념으로 실행된다.
daybatch.sh는 매일 00시 00분에 퇴근시간을 알리며 실행된다.
hourbatch.sh는 매시간 30분에 실행된다.
checksys.sh는 5분마다 실행된다.


* crontab 사용시 주의 사항

계정을 정해주지 않으면 root권한으로 실행된다.

crontab에 아래의 프로세스가 등록되어 있다고 가정하자.
0 * * * * /home/batch/bin/run_hourbatch

run_hourbatch는 오라클을 연동하는 Pro-C로 만들어져 있다고 가정하자.
이 프로세스는 1시간 간격으로 수행되는 배치 프로세스이다.

하지만, 이렇게 프로세스를 직접 실행을 하면 수행에 실패한다.
Error while trying to retrieve text for error ORA-12154
로그를 확인해 보면 위와 같은 메시지와 함께 DB 커넥션을 하지 못한다.

이는 crontab에 등록된 프로세스가 root권한으로 실행되면서 오라클 환경변수를 읽는데 실패했기 때문에 발생하는 것이다.


참조 - http://newtype.tistory.com/tag/crontab

crontab등록.zip



'Linux' 카테고리의 다른 글

find grep 파일명 찾기  (0) 2010.01.05
[Linux] 계정,그룹만들기  (0) 2009.10.05
[Unix,Linux] Crontab  (0) 2009.10.05
rm시 물어볼때  (0) 2009.06.25
log안 특정문자만 추려 파일로 떨궈내기  (0) 2009.01.07
파일 읽기, 쓰기 권한있는지 확인  (1) 2008.09.11

댓글을 달아 주세요

rm시 물어볼때

Linux 2009.06.25 16:32 Posted by 애플자라
unalias rm or \rm

'Linux' 카테고리의 다른 글

[Linux] 계정,그룹만들기  (0) 2009.10.05
[Unix,Linux] Crontab  (0) 2009.10.05
rm시 물어볼때  (0) 2009.06.25
log안 특정문자만 추려 파일로 떨궈내기  (0) 2009.01.07
파일 읽기, 쓰기 권한있는지 확인  (1) 2008.09.11
vim에서 윈도 개행문자(^M) 삭제하기  (0) 2008.05.16
TAG Linux, RM, unalias

댓글을 달아 주세요

리눅스/한글 출력

Linux 2007.11.16 18:24 Posted by 애플자라
- 현재 설치되어 있는 언어셋 확인
----------------------------------------------------------------------------------------
#locale -a
.....
//영문으로 설치되어 있는 경우 en_US와 같은 리스트만 나옴.
----------------------------------------------------------------------------------------

- Communication관련 RPM설치 확인
-------ㅣㄴ
---------------------------------------------------------------------------------
#rpm -qa | grep glibc-common
glibc-common-2.2.93-5
//glibc파일이 설치 되어 있는지 확인을 하고 설치되어 있지 않다면.. 설치한다.
//위의 파일이 설치되어 있는 경우 아래의 방법을 통해 다시 업데이트를 하도록한다.

#rpm -Uvh -force glibc-common-2.2.95-5.i386.rpm
----------------------------------------------------------------------------------------

- 설치확인
----------------------------------------------------------------------------------------
#locale -a| grep ko
ko_KR.euckr
ko_KR.utf8
ru_RU.koi8r
//위와 같은 결과가 나오는지 확인.

#cd /usr/lib/locale
#ls
//결과 확인. locale -a 와 같은 결과가 나올것이다.

#cat /etc/sysconfig/i18n
LANG="ko_KR.eucKR"
SUPPORTED="ko_KR.eucKR:ko_KR:ko"
//위와 같이 설정되어 있지 않다면.. 설정을 변경해 주어야 한다.

'Linux' 카테고리의 다른 글

vim에서 윈도 개행문자(^M) 삭제하기  (0) 2008.05.16
폴더 권한 바꾸기  (0) 2007.12.04
리눅스/한글 출력  (0) 2007.11.16
파일복사  (0) 2007.08.29
미친 좌바 프로세스 한번에 죽이기  (0) 2007.08.29
top명령의 다양한 응용  (0) 2007.08.29

댓글을 달아 주세요

서버사양 알아보기

Linux 2007.08.29 23:29 Posted by 애플자라

1) 리눅스

모델명 : dmidecode | grep Name
CPU : cat /proc/cpuinfo

RAM : cat /proc/meminfo

 

2) AIX

모델명 : prtconf

 

3) NT

모델명 : systeminfo

 

4) CISCO

모델명 : show ver

'Linux' 카테고리의 다른 글

ssh 포트 번호 22번에서 변경하기  (0) 2007.08.29
로컬 서버의 열려있는 포트찾기  (0) 2007.08.29
서버사양 알아보기  (0) 2007.08.29
mysql 백업/복구  (0) 2007.08.29
mysql 비번 바꾸기  (0) 2007.08.29
mysql 암호 잃어버렸을때..  (0) 2007.08.29

댓글을 달아 주세요

MYSQL DB생성 & 사용자계정생성 / 삭제

Linux 2007.08.29 23:26 Posted by 애플자라

데이터베이스 생성
SQL > create database DB_이름 ;

사용자계정생성과 DB권한넘기는것을 GRANT 문으로 한방에 하겠습니다..

SQL > GRANT ALL PRIVILEGES ON 디비네임.* TO 사용자아이디@localhost IDENTIFIED by '비밀번호';
SQL > GRANT ALL PRIVILEGES ON 디비네임.* TO 사용자아이디@% IDENTIFIED by '비밀번호';
다음과 같은 형태로 해주시면 됩니다 .

privileges 리로딩

SQL > flush privileges;

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

[5.7 이전 버젼]
update mysql.user set password=password('새로운패스워드') where user='root';
FLUSH PRIVILEGES;

[5.7 이후 버젼]
update user set authentication_string=password('새로운패스워드') where user='root';
FLUSH PRIVILEGES;

(5.7 이후 버젼에는 password 필드가 존재하지 않는다.)
설정 후 MySQL 접속 후 명령을 실행하게 되면 다음과 같은 장애가 발생한다.

mysql> SELECT 1;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

위와 같은 오류가 발생하는 경우 다음과 같은 명령어를 실행한다.

mysql> SET PASSWORD = PASSWORD('새로운패스워드');
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT 1;
+---+
| 1 |
+---+
| 1 |

TAG Linux, MySQL

댓글을 달아 주세요