검색결과 리스트
리눅스에 해당되는 글 17건
- 2019.04.16 shell script - for 문 사용 예시
- 2017.09.17 자주 쓰는 리눅스 명령어
- 2017.05.21 리눅스와 mysql의 max_open_file 사이즈 변경하기 (1)
- 2017.01.05 Ubuntu 서버에 새 관리자 추가
- 2016.12.25 리눅스에서 오래된 로그 주기적으로 정리하기
- 2016.07.02 ubuntu 에서 유저 생성과 관리자 권한 주기
- 2016.06.19 ubuntu에서 방화벽 설정 (UFW)
- 2016.06.18 리눅스 열린 포트 확인하기
- 2015.10.17 리눅스(centos)에 phpmyadmin 설치하기
- 2015.10.15 vi 파일 자동 인코딩 변환 막기
글
shell script - for 문 사용 예시
쉘 스크립트에서 for문 사용 예시
- 기본
#!/bin/bash
for i in 1 2 3 4 5
do
echo "Welcome $i times"
done
- 배열 사용하기
#!/bin/bash
arrayname=(value1 value2)
for i in ${arrayname[@]}
echo "Welcome $i times"
done
- 숫자범위 사용하기
#!/bin/bash
for i in {2000..2011};do echo " $i times";done
- 명령어 결과 사용하기
#!/bin/bash
for entry in $stockdir/*;do echo " $entry times";done
- 일반 반복문 형식 사용하기
#!/bin/bash
for (( i=0; i<100; i++ ));do echo " $i times";done
#!/bin/bash
for (( i=0; i<100; i=i+5 ))
do
j=$((i + 4));
echo "alter table 테이블이름 add column age_"$i"_"$j"_totalcnt bigint DEFAULT NULL;";
echo "COMMENT ON COLUMN 테이블이름.age_"$i"_"$j"_totalcnt IS '"$i" - "$j"세 총 인구수';"
done
설정
트랙백
댓글
글
자주 쓰는 리눅스 명령어
리눅스에서 개인적으로 자주쓰는 명령어들
1. 폴더 및 파일 압축하기 & 압축풀기
- tar.gz으로 압축하기 (상대경로)
tar zcvf test.tar.gz test
tar.gz으로 압축하기 (절대경로)
tar zcvfP /home/test.tar.gz /home/test
- tar.gz 압축풀기
tar zxvf test.tar.gz
- gzip 으로 압축하기
gzip test
- gzip 압축풀기
gunzip test.gz
2. 리눅스에서 탭 사용하기
- command line에서 탭 사용하기
: ctrl + v 누르고 tab 누르기
- grep에서 탭 사용하기
: 탭은 \t로 표시하고 -P 옵션 사용
-P 옵션은 Perl regular expression을 사용 표시
예시) today_sorted=`date '-d yesterday' '+%d\t%m\t%Y'`
today_cnt_sorted=`grep -P -c $today_sorted $company".sorted"`
sed -i 's/\t /\t/g' file
3. crontab 재시작하기
# /etc/init.d/crond restart
crond 를 정지 중: [ OK ]
crond (을)를 시작 중: [ OK ]
4. 리눅스 OS 확인
$ cat /etc/issue
CentOS release 5.8 (Final)
Kernel \r on an \m
7. iptables 파일 보기 및 iptables 서비스 재시작하기
vi /etc/sysconfig/iptables
service iptables restart
8. 현재 사용중인 shell 확인
# echo $SHELL
/bin/bash
9. ls로 디렉토리 목록만 보기
ls -d */
10. 폴더 안의 파일/폴더 사이즈 보기
du -sh ./*
11. sudo로 ulimit 사용하기
sudo sh -c "ulimit -n 65535 && exec su $LOGNAME"
12. top
- 명령어 메모리 사용 순으로 정렬하기
top -o %MEM
- MB, GB로 보기
top화면에서 E를 입력하면 display 기준 사이즈가 변경됨
설정
트랙백
댓글
글
리눅스와 mysql의 max_open_file 사이즈 변경하기
환경: 리눅스 CentOS
새 서버를 받아 max open file 관련하여 설정을 하여 기록을 남긴다.
mysql에서는 보통 max open file 기본 값으로 1024이 설정되어 있는데
이 값이 낮아 mysql 작업 속도를 느리게 하는 원인이 되기도 하니 적절하게 값을 조정해보도록 하자.
1.mysql의 max open file 설정 확인
일단 mysql 의 현재 max open file설정부터 확인해보자.
ps afx | grep mysql 로 해당 프로세스의 id를 알아내고 프로세스의 설정값을 확인해본다.
1024(soft), 4096(hard) 값이 설정되어 있다.
shell> ps afx | grep mysql
48320 pts/3 S+ 0:00 \_ grep mysql
21919 pts/0 S 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
22021 pts/0 Sl 0:03 \_ /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
shell> cat /proc/22021/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 10485760 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 30122 30122 processes
Max open files 1024 4096 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 30122 30122 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
[root@quick141-176 ~]#
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
1 row in set (0.00 sec)
mysql max open file 값을 변경하기 이전에 관련 설정들을 확인 및 변경해보자.
2. OS의 max open file 설정 확인 및 변경
일단 서버의 기본 max open file 설정부터 확인해보자.
file-max 값은 리눅스에서 한 번에 운용할 수 있는 파일 수를 의미하며,
보통 4MB 메모리당 256개의 파일을 운용할 수 있다고 한다.
대략 1G -> 65536개, 2G -> 131072 개 이다.
shell> cat /proc/sys/fs/file-max
382386
이미 충분한 값이 설정되어 있는 것 같다.
만약 위에 나온 값을 변경하고 싶으면 터미널에서 아래와 같이 입력하면 된다.
그러나 재부팅시 이 값은 유지가 되지 않으니 유의하자.
shell> echo 382386 > /proc/sys/fs/file-max
재부팅시에도 이 값을 계속 유지하려면
/etc/sysctl.conf 파일에서 아래와 같이 file-max값 설정을 추가한다.
# increase max open file
fs.file-max = 382386
그리고 sysctl -p 를 입력하여 설정값이 즉각 변경하도록 한다.
이 값은 서버가 재시작을 해도 계속 유지된다.
3. 사용자별 max open file 설정 확인 및 변경
사용자별 프로세스(task)의 max open file 설정을 확인하려면 터미널에서 ulimit -a를 입력한다.
open file 값이 기본값인 1024으로 설정되어 있어 64000으로 변경하려고 한다.
ulimit의 값을 변경하는 방법은 두가지가 있다.
터미널에서 아래와 같이 ulimit -n 옵션으로 변경할 수 있다.
현재 로그인되어 있는 사용자에 한해 변경이 되며 로그아웃시에는 설정한 값이 유지가 되지 않으니 유의한다.
shell> ulimit -n64000
다시 ulimit -a를 입력하여 해당 값이 제대로 변경된 것을 확인하였다.
shell> ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 30122
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 64000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 30122
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
ulimit -n의 변경값은 일시적이기 때문에
이 값을 계속 유지하고 싶으면 /etc/security/limits.conf 파일의 내용을 수정해야 한다.
nofile은 해당 사용자(그룹)이 오픈할 수 있는 최대 파일 개수를 의미한다.
/etc/security/limits.conf 값은 새로운 session 부터 영향을 끼치기 때문에
파일 설정을 변경하고 재로그인을하거나 새로운 세션으로 다시 접속하면
해당 설정이 변경된 것을 확인할 수 있다.
참고로 root user 는 * wildcard 에 속하지 않으니
root user 는 따로 설정해줘야한다.
# 전체 user에게 같은 설정을 하려면 * 을 사용한다
* hard nofile 64000
* soft nofile 64000
root hard nofile 64000
root soft nofile 64000
# 특정 user (예: mysql)에기만 설정을 하려면
mysql hard nofile 64000
mysql soft nofile 64000
만약 설정을 변경하였는데 ulimit -a 해도 동일한 결과가 나온다면
/etc/pam.d/su 의 아래 라인을 코멘트 아웃해야한다.
limits.conf 는 pam_limits.so가 사용하는 설정값이라
/etc/pam.d/su에서 사용되도록 설정되었는지 확인해야한다.
# Sets up user limits, please uncomment and read /etc/security/limits.conf
# to enable this functionality.
# (Replaces the use of /etc/limits in old login)
session required pam_limits.so
4. mysql max open file 설정 변경
자 드디어 mysql max open file 설정을 변경할 차례가 왔다.
/etc/my.cnf 파일에 아래와 같이 open-file-limit 옵션을 수정하자.
[mysqld_safe]
open-files-limit=64000
http://duntuk.com/how-raise-ulimit-open-files-and-mysql-openfileslimit
http://blog.endpoint.com/2013/12/increasing-mysql-55-maxconnections-on.html
https://dev.mysql.com/doc/refman/5.0/en/linux-postinstallation.html
http://jikime.tistory.com/44
설정
트랙백
댓글
글
Ubuntu 서버에 새 관리자 추가
리눅스 서버에 새 관리자를 추가할 떄 자주 사용하는 명령어를 기록해놓았습니다.
useradd로 새 사용자를 추가하고 -m 옵션으로 기본으로 사용할 shell을 지정해 줍니다.
그리고 passwd로 비밀암호를 설정합니다.
sudo 권한을 주기 위해 /etc/sudoers 파일에 새로운 사용자를 추가합니다.
# useradd newuser -m -s/bin/bash
# passwd newuser
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
#echo 'newuser ALL=(ALL:ALL) ALL' >> /etc/sudoers
데이터베이스에도 역시 같은 user ID를 추가하고 암호를 설정합니다.
그리고 새 관리자가 어디에서나 접속해도('사용자'@'%') 모든 권한을 사용할 수 있도록 (ALL PRIVILEGES ON *.* )
데이터베이스 권한 설정을 해 줍니다.
mysql command 로 설정시
CREATE USER '사용자'@'%' IDENTIFIED BY '암호';
GRANT ALL PRIVILEGES ON *.* TO '사용자'@'%' WITH GRANT OPTION;
command line에서 설정시
mysql -u아이디 -p패스워드 디비명 -e "CREATE USER '사용자'@'%' IDENTIFIED BY '암호'"
mysql -u아이디 -p패스워드 디비명 -e "GRANT ALL PRIVILEGES ON *.* TO '사용자'@'%' WITH GRANT OPTION;"
참고로 command line에서 mysql 명령을 실행시킬때 syntax는 아래와 같습니다.
mysql -u아이디 -p패스워드 디비명 -e "쿼리문"
echo "쿼리문" | mysql -u아이디 -p패스워드 디비명
설정
트랙백
댓글
글
리눅스에서 오래된 로그 주기적으로 정리하기
리눅스에서 cron작업을 하다보면 로그가 쌓일 경우가 있다.
단기간에 확인이 필요한 로그가 아니면 서버 저장공간을 아끼기 위해서
오래된 로그들은 삭제하거나 백업 폴더로 옮기는 스크립트를 걸어두는 것이 좋다.
일단 find로 오래된 로그를 찾아보자.
find는 특정 조건을 찾는 명령어로 기본구문은 아래와 같다.
find [options] [path] [expression]
expression 중에 mtime 이라는 옵션을 사용하면
수정된 날짜를 참조해서 (로그일 경우 로그 생성 날짜) 파일을 찾을 수 있다.
mtime +7 이면 수정날짜가 7일은 지난 파일들을 의미하고
mtime -7 이면 수정날짜가 7일 이내인 최신 파일들을 의미한다.
exec 옵션을 사용하면 위 조건으로 찾은 파일들로 어떤 명령을 내릴지 지정할 수 있다.
{}는 앞에서 찾은 파일 이름들로 대체되고 ;을 만날때까지의 명령을 수행한다.
마지막의 ;는 \로 escape 되어야 한다.
아래 명령어를 기존 운영 스크립트에 걸어두었다.
이제 오래된 로그들은 주기적으로 정리가 되어 좀 더 깔끔하게 서버 이용이 가능해졌다 : )
#!/bin/sh
# 삭제 할 경우
find /home/apache/log/ -mtime +7 -name \* -exec rm {} \;
# 백업 폴더로 이동할 경우
find /home/apache/log/ -mtime +7 -name \* -exec mv {} /mnt/backup/logbackup/ \;
설정
트랙백
댓글
글
ubuntu 에서 유저 생성과 관리자 권한 주기
사용자를 생성시에는 useradd 명령어를 사용한다.
옵션
사용자 확인은 아래와 같다.
cat /etc/passwd | grep username
설정
트랙백
댓글
글
ubuntu에서 방화벽 설정 (UFW)
Ubuntu에서 기본적으로 제공하는 방화벽은 UFW(Ubuntu Firewall) 이다.
iptables을 보다 쉽게 사용하도록 개발된 툴로 사용법도 좀 더 간편하다.
일단 ufw status를 사용하여 활성화 여부를 체크한다.
기본적으로 비활성화 되어 있기 때문에 ufw enable를 사용하여 ufw를 활성화한다.
ufw를 활성화하면 방화벽이 작동하기 떄문에 모든 포트가 자동으로 막히게 된다.
방화벽 설정을 하지 않고 그대로 종료하면 다음에 ssh 접근을 못할 수도 있으니 유의하자.
# ufw status
Status: inactive
# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
ufw default deny/allow를 입력하여 기본적인 방화벽 방침을 입력한다.
ufw logging on을 입력하여 로그를 남기도록 변경한다.
이제 사용하는 포트들을 열어보자.
ufw allow의 기본적인 문법은 아래와 같다.
ufw allow <port>/<optional: protocol>
ftp. ssh, http, mysql port를 차례대로 열어준다.
그리고 ufw status numbered를 사용하여 입력한 룰들을 확인해본다.
참고로 룰을 삭제하고 싶을 경우에는 ufw delete rule_number 를 사용하면 된다.
# ufw delete 8
Deleting:
allow 3306
Proceed with operation (y|n)? y
Rule deleted (v6)
참고: http://squall.kr/363
설정
트랙백
댓글
글
리눅스 열린 포트 확인하기
netstat -tnlp 를 사용하면 로컬 서버에서 현재 열려 있는 포트를 확인할 수 있다.
사용 옵션은 아래와 같다.
netstat [address_family_options] [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a]
[--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--symbolic|-N]
[--extend|-e[--extend|-e]] [--timers|-o] [--program|-p] [--verbose|-v] [--continuous|-c]
사용 예시
# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 2209/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1121/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 9770/cupsd
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1197/mysqld
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 1255/Xvnc4
tcp6 0 0 :::22 :::* LISTEN 1121/sshd
tcp6 0 0 ::1:631 :::* LISTEN 9770/cupsd
tcp6 0 0 :::443 :::* LISTEN 2171/apache2
tcp6 0 0 :::5901 :::* LISTEN 1255/Xvnc4
tcp6 0 0 :::80 :::* LISTEN 2171/apache2
설정
트랙백
댓글
글
리눅스(centos)에 phpmyadmin 설치하기
이미 APM 설치가 되어있는 서버에 phpmyadmin를 추가로 설치하였다.
서버: CentOS
shell> yum install epel-release
shell> yum update
shell> yum install phpmyadmin
보통 로컬서버에서 접속하지 않으면 아래와 같은 접속 권한이 없다는 오류가 나온다.
Forbidden
You don't have permission to access /phpmyadmin/ on this server.
그럴 경우 phpmyadmin의 설정파일에서 phpmyadmin에 접근할 수 있는 ip를 추가하도록 하자.
또는 보안에는 약해지겠지만 ip 제한 정책을 아예 없앨 수 도 있다.
아래는 phpmyadmin의 기본 설정파일 내용이다.
vi /etc/httpd/conf.d/phpMyAdmin.conf
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
예시 1 ) 223.170.188.0/24 대역대의 ip전체 접속 허용
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1, 223.170.188.0/24
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1, 223.170.188.0/24
Allow from ::1
</IfModule>
</Directory>
예시 2 ) ip 접속 제한 없앰
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Allow,Deny
Allow from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
마지막으로 설정파일에서 기본 alias를 설정한다.
alias는 phpmyadmin 접속주소인데 보통 http://yourdomain/phpmyadmin 이 기본 phpmyadmin의 접속 주소가 된다.
기본 설정은 아래와 같지만 자신만이 알수 있는 alias로 변경하는것이 보안에 좋다.
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
참고로 예전 서버에 남아있던 해킹시도 로그 기록들이다.
phpmyadmin에 대한 다양한 주소로 접속을 시도하는 것을 확인할 수 있다.
여기에서 언급되는 주소를 피해서 alias를 설정하는 것이 좋을 것 같다.
[Tue Jul 07 14:09:28 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/admin
[Tue Jul 07 14:09:31 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/administrator
[Tue Jul 07 14:09:31 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/database
[Tue Jul 07 14:09:35 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/db
[Tue Jul 07 14:09:37 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/dbadmin
[Tue Jul 07 14:09:37 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/myadmin
[Tue Jul 07 14:09:37 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/myadminphp
[Tue Jul 07 14:09:38 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/mysql-admin
[Tue Jul 07 14:09:39 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/mysql
[Tue Jul 07 14:09:41 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/mysql
[Tue Jul 07 14:09:42 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/mysqladmin
[Tue Jul 07 14:09:42 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/mysqlmanager
[Tue Jul 07 14:09:43 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/php-my-admin
[Tue Jul 07 14:09:43 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/php-myadmin
[Tue Jul 07 14:09:43 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpMyAdmin-2
[Tue Jul 07 14:09:44 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpMyAdmin-3
[Tue Jul 07 14:09:44 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpMyAdmin-4
[Tue Jul 07 14:09:52 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpMyAdmin2
[Tue Jul 07 14:09:52 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpMyAdmin3
[Tue Jul 07 14:09:53 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpMyAdmin4
[Tue Jul 07 14:09:53 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpMyadmin
[Tue Jul 07 14:09:53 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpmanager
[Tue Jul 07 14:09:54 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpmy-admin
[Tue Jul 07 14:09:54 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpmy
[Tue Jul 07 14:09:55 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpmyAdmin
[Tue Jul 07 14:09:55 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpmyadmin
[Tue Jul 07 14:09:55 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpmyadmin1
[Tue Jul 07 14:09:56 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpmyadmin2
[Tue Jul 07 14:09:56 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpmyadmin3
[Tue Jul 07 14:09:57 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phpmyadmin4
[Tue Jul 07 14:09:57 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/phppma
[Tue Jul 07 14:09:57 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/pma
[Tue Jul 07 14:09:58 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/pma2011
[Tue Jul 07 14:09:58 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/pma2012
[Tue Jul 07 14:09:58 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/pma2013
[Tue Jul 07 14:09:59 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/pma2014
[Tue Jul 07 14:09:59 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/pma2015
[Tue Jul 07 14:10:00 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/program
[Tue Jul 07 14:10:00 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/shopdb
[Tue Jul 07 14:10:00 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/sql
[Tue Jul 07 14:10:01 2015] [error] [client 54.173.63.20] File does not exist: /var/www/html/sql
..
[Thu Jun 25 15:16:23 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.10.0.0
[Thu Jun 25 15:16:24 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.10.0.1
[Thu Jun 25 15:16:24 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.10.0.2
[Thu Jun 25 15:16:25 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.10.0
[Thu Jun 25 15:16:25 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.10.1.0
[Thu Jun 25 15:16:26 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.10.2.0
[Thu Jun 25 15:16:26 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.11.0.0
[Thu Jun 25 15:16:27 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.11.1-all-languages
[Thu Jun 25 15:16:27 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.11.1.0
[Thu Jun 25 15:16:28 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.11.1.1
[Thu Jun 25 15:16:28 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.11.1.2
[Thu Jun 25 15:16:29 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.6.1-pl2
[Thu Jun 25 15:16:29 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.6.1-pl3
[Thu Jun 25 15:16:30 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.6.4-pl3
[Thu Jun 25 15:16:30 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.6.4-pl4
[Thu Jun 25 15:16:31 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.6.4-rc1
[Thu Jun 25 15:16:31 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.6.5
[Thu Jun 25 15:16:31 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.6.6
[Thu Jun 25 15:16:32 2015] [error] [client 104.243.24.211] File does not exist: /var/www/html/phpMyAdmin-2.6.9
마지막으로 httpd 재시작하면 변경된 설정이 반영 된다.
shell> service httpd restart
httpd 를 정지 중: [ OK ]
httpd (을)를 시작 중: [ OK ]
설정
트랙백
댓글
글
vi 파일 자동 인코딩 변환 막기
간혹 파일에 깨진 글자가 있으면 vi에서 파일 인코딩을 자동 변환하여
전체 인코딩이 깨져 나올때가 있다 -_-;
newsline:<strong class="hl">ë<8f><99>í<99><94>ì<95>½í<92><88></strong>, â<80><98>2015 ê¹<8c>ì<8a>¤í<99><9c>ëª<85>ì<88><98> í<8a>¹ë³<84>ë°<95>ì<8a>¤â<80><99> ì¶<9c>ì<8b><9c>
"best_news_2015_10_13.log" [변환 되었습니다] 63894L, 12815248C
자동 인코딩 하지 않고 파일을 원래 버전으로 보려면
binary 모드로 파일을 열거나 :e 명령어(edit)로 원래 인코딩으로 변경하면 된다.
- binary 모드로 파일 열기
vim -b "myfile.type"
binary 모드로 파일 열기
:set binary 또는 :se bin
vi로 화면이 연 다음 set 사용
- :e 명령어로 원래 인코딩으로 변경하고 깨진 문자 확인하기
:e ++enc=원래 파일 인코딩
예시 ) :e ++enc=utf-8
원래 파일 인코딩으로 파일 내에서 인코딩 변환을 한다.
그러면 아래 같이 어디에 잘못된 바이트에 있는지 확인할 수 있다.
"best_news_2015_10_13.log" [59067 줄에 잘못된 바이트] 63894L, 10020220C
이렇게 인코딩을 하면 더 좋은 이유가 어느 줄에 잘못된 바이트가 있는지 알려주기때문에
깨진 문자열을 확인하고 수정하면 다음부터는 정상적으로 파일을 열 수 있다.