'삽질'에 해당되는 글 2건

  1. 2017.12.22 dokuwiki 백업하기
  2. 2017.11.22 리눅스에서 Python 2, Python 3 같이 사용하기 1

2017. 12. 22. 07:30 삽질

dokuwiki 백업하기



  개인 위키를 사용하는데 개인적으로는 미디어위키가 가장 편하긴 하지만 백업하는게 귀찮아서 도쿠위키로 넘어왔다. 도쿠위키는 텍스트 파일 형태로 저장되기 때문에 파일 이동만으로도 백업이 가능해진다.


  다음은 셸 스크립트로서 만들었던 모든 페이지들이 저장된 위치인 /var/www/html/dokuwiki/data/pages/ 디렉터리를 홈 디렉터리로 복사한 후에 tar를 이용해 압축하고 복사한 디렉터리의 내용을 지워주는 역할을 한다.


# vi docu_bak.sh


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


#!/bin/sh


cp -R /var/www/html/dokuwiki/data/pages/ ~/bak

tar -cvf doku_bak.tar bak

rm -rf bak


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


  이후 실행 권한을 추가하고 실행한다.


# chmod u+x doku_bak.sh

# ./doku_bak.sh


  이제 홈 디렉터리에 doku_bak.tar라는 백업 파일이 만들어지면 FTP 유틸리티를 이용해서 다운로드 받으면 된다.


'삽질' 카테고리의 다른 글

리눅스에서 Python 2, Python 3 같이 사용하기  (1) 2017.11.22
Posted by SanseoLab



0. 개요

  python 2는 리눅스에서 디폴트로 설치되어 있기도 하고 yum 등의 많은 프로그램에서 사용된다. 그래서 가끔 python 3 이상을 요구하는 프로그램을 사용할 때 매우 불편한 점이 있다. 리눅스의 특성상 여러 모로 불편한데다가 다시 python 2로 돌아올 필요가 있기 때문이다. 여기서는 파이썬 3를 설치한 후 간단한 스크립트를 이용해 자동으로 변경할 수 있는 팁을 설명한다. 사실 많은 곳에 올라와 있는 자료이다.





1. 리눅스에서 파이썬 3 설치


$ wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz

$ tar xf Python-3.* 

$ cd Python-3.*

$ ./configure

$ make

$ make install





2. 메커니즘

  PATH에는 /usr/bin/ 디렉터리가 포함된다. 다른 많은 명령어들처럼 파이썬도 여기에 들어있다. 예제를 통해 보자면 다음과 같이 있다고 하자.


...  -  python

...  1  python2 -> python

...  -  python2.6


  python이라는 바이너리와 python2.6이라는 바이너리가 존재한다. 그러므로 이 두 명령어를 사용해서 파이썬을 실행할 수 있다. (아마 이 두개는 날자다 크기를 보니 같은 것으로 보인다) 중요한 것은 python2이다. 이것은 심볼릭 링크로서 python을 가리킨다. 즉 python2라고 명령어를 입력하면 가리키고 있는 python을 실행한다. 이 특징을 이용할 것이다.


# mv /usr/bin/python /usr/bin/python_keep

  먼저 원래 파이썬 파일을 python_keep이라는 이름으로 변경한다. 이것은 원본 파일을 백업하는 역할이다.


# ln -s /usr/bin/Python-3.6.1/python /usr/bin/python

  이제 설치한 파이썬 3를 가리키는 심볼릭 링크를 생성하는데 이름은 python이다. 이것을 통해 이제부터 셸에서 python을 입력하면 파이썬 3가 실행될 것이다.


다시 파이썬 2로 복구해보자


# rm /usr/bin/python

  아까 생성한 심볼릭 링크 파일을 삭제한다.


# mv /usr/bin/python_keep /usr/bin/python"

  백업했던 원본 파일의 이름을 다시 python으로 변경한다. 이제부터는 셸에서 python을 입력하면 파이썬 2가 실행될 것이다.





3. 셸 스크립트


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


#!/bin/bash


# If name is pyCh.sh, then use like

# "./pyCh.sh p2" or "./pyCh.sh p3"

# my path of python3 is "/usr/bin/Python-3.6.1/python"


this=$1


if [ "$this" = "p2" ]

then

        cmd1="rm /usr/bin/python"

        cmd2="mv /usr/bin/python_keep /usr/bin/python"

elif [ "$this" = "p3" ]

then

        cmd1="mv /usr/bin/python /usr/bin/python_keep"

        cmd2="ln -s /usr/bin/Python-3.6.1/python /usr/bin/python"

fi


cmd3="python --version"


$cmd1

$cmd2

$cmd3


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


  이것을 자동화한 스크립트로서 만약 스크립트 이름이 pyCh.sh이고 옵션이 각각 p2, p3라면 다음과 같이 사용할 수 있다.


# ./pyCh.sh p3

파이썬 3로 전환한다.


# ./pyCh.sh p2

파이썬 2로 전환한다.


  간단한 스크립트이지만 리눅스에서 이것 저것 하다보면 은근히 사용할 일이 많은것 같다. 적어도 몇 년은 이렇게 사용해야 할 것 같다.


'삽질' 카테고리의 다른 글

dokuwiki 백업하기  (0) 2017.12.22
Posted by SanseoLab
이전버튼 1 이전버튼

블로그 이미지
Malware Analyst
SanseoLab

태그목록

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.4
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

최근에 올라온 글

최근에 달린 댓글

글 보관함