1. 계정 풀 백업


2. 계정 증분 백업


3. DataBase 백업



# crontab 에 스크립트 등록

위의 백업하는 스크립트를 매일 일정 시간에 실행하기 위해서는 cron 서비스에 등록해줘야 한다. 

crontab -e 명령으로 cron 서비스 편집 모드로 들어간 후 아래의 코드를 입력한다.

이렇게 하면 매일 주기적으로 백업이 진행된다. 중요한 자료나 혹은 웹 서버 데이터를 안전하게 보관할 수 있다.



'Linux > Common' 카테고리의 다른 글

jupyter  (0) 2016.02.23
Memory Drop  (0) 2016.02.07
Linux Command - join  (0) 2014.08.23
vim 업데이트 및 gvim 설치  (0) 2014.02.01
분할 압축  (0) 2013.05.26
Posted by scii
:

http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/


OS: Centos7

Python Version: 2.7.5 (CentOS7 기본적으로 설치되는 파이썬 버전)


iPython은 Console에 쉘환경을 올리거나, 웹 서비스를 올려서 입력과 출력을 중계해 주는 역할을 한다.

iPython qtconsole : 터미널 형태의 쉘 환경

iPython notebook : 웹 브라우저 기반의 쉘 환경



iPython을 설치하기 전에 설치해야할 패키지들

# yum groupinstall "Development tools"

# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel



Shared Library 

.bashrc에 LDFLAGS="-Wl,-rpath /usr/local/lib" 추가.

/etc/ld.so.conf 에 아래의 것을 추가

include ld.so.conf.d/*.conf

/usr/local/lib


Pip Install

iPython은 Pip에 의존하므로 Pip를 설치해야 한다.

# wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py

# python2.7 ez_setup.py

# easy_install-2.7 pip

여기까지하면 pip는 모두 설치 된 것이다.


Pip 사용법

# pip2.7 install [packagename]

# pip2.7 install --upgrade [packagename]

# pip2.7 uninstall [packagename]


iPython Install

# pip uninstall ipython

# pip install ipython[all]


이제 터미널에서 ipython notebook 명령을 내리면 아래와 같이 ipython notebook이 뜬다.


iPython notebook Server Setup

Python 웹 환경을 localhost 에서만 쓸 것이 아니면, web server profile 을 생성하여 web client 가 접속 했을 때, hosting을 제공하도록 설정해야 한다.


iPython 접속 토큰 생성

iPython을 실행한다.

passwd() 함수를 실행 후, password는 그냥 엔터로 넘어간다. 두번 다!

Enter password: <그냥 엔터>

Verify password: <그냥 엔터>

비밀번호는 기억하고 있던가, 어딘가에 써 놓는다. 나중에 필요함.


Server Profile 생성 (Profile 이름: scserver)

$ ipython profile create scserver


Server Profile 설정

gvim ~/.ipython/profile_scserver/ipython_notebook_config.py

..................................

수정 내용

c.IPKernelApp.pylab = 'inline'

c.NotebookApp.ip = '*'                         # <접속 가능한 ip 리스트>

c.NotebookApp.open_browser = False

c.NotebookApp.password = u'(위에 생성했던 비밀번호 입력) sha1~~~50'

c.NotebookApp.port = 1234                 # (포트 번호, 기본은 8888인데 그대로 쓰던가 바꾸던가)


iPython notebook 실행

$ ipython notebook --profile=scserver


Sample Code

iPython 웹 환경 접속     

http://<Server IP>:<Port Number>





컴퓨터 부팅 시 자동으로 iPython notebook server를 Process로 올리는 방법

# vi /etc/rc.local

cd /home/[user name]/.ipython && ipython notebook --profile=scserver --no-browser &

만약, /home/[user name]/.python에 scserver가 setup 되었다는 가정하에 위의 것을 추가한다. 즉, notebook server 가 설치 되어 있는 곳을 잡아주면 된다.


# chmod +x /etc/rc.d/rc.local

# restart


참고 페이지:

http://ipython.org/ipython-doc/1/interactive/public_server.html



'Programming > etc' 카테고리의 다른 글

[Ubuntu/Lubuntu] IPython Notebook Setup  (0) 2015.04.30
[Ubuntu14.04 LTS] AMP Install  (0) 2015.02.07
Python matplotlib 설치 및 예제 실행  (1) 2014.09.15
Python Qt4 설치  (0) 2014.09.15
CentOS7 QT5 Setup  (0) 2014.09.15
Posted by scii
:


NumPy 설치

matplotlib 은 NumPy에 의존하므로 NumPy를 설치해야 한다.

# yum install numpy

# yum install scipy

설치하는 김에 scipy도 설치

==============================================

만약, 파일로 설치할 경우

http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/

다운 받는다. 혹은, wget http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/numpy-1.6.1.tar.gz/download 로 받는다.

# python setup.py build

# python setup.py intall

:: sip 설치 때와 맟나가지로 --prefix를 설정하지 않았는데, 이는 setup.py를 실행하는 python의 site-packages 디렉토리 밑으로 해당 확장 패키지가 설치되기 때문이다. (즉, PYTHON_ROOT 의 경로 밑)


matplotlib 설치

http://sourceforge.net/projects/matplotlib/

$ cd ~/softwares/python/extension/mat*

$ python setup.py build

$ python setup.py install


:: 만약, png 에러가 난다면, 

yum install libpng-devel

yum install freetype-devel


위의 처럼 하는 것보단 아래의 링크에 따라 설치하는 것이 바람직할 것 같다!!

http://matplotlib.org/users/installing.html

참고로 나는 yum install python-matplotlib 로 설치하였다.


continue..


'Programming > etc' 카테고리의 다른 글

[Ubuntu14.04 LTS] AMP Install  (0) 2015.02.07
iPython Install On CentOS7  (0) 2014.09.17
Python Qt4 설치  (0) 2014.09.15
CentOS7 QT5 Setup  (0) 2014.09.15
Linux PHPStrom 설정  (0) 2014.09.06
Posted by scii
:

Python Qt4 설치

Programming/etc 2014. 9. 15. 02:41 |


PyQt 와 PySide 의 차이점


큰 틀로 봤을 때, import name(PySide.QtCore import * 등등) 만 바꿔주면 된다. 


qrc 파일 (resource file)을 .py로 바꾸는 방법

pyrcc4 -o qrc_xxx.py input_xxx.qrc

pyrcc4 -py3 -o qrc_xxx.py input_xxx.qrc (python 3에서는 -py3 option이 필요하다)

(PySide 에서는 pyside-rcc 를 사용한다)


ui 파일 (Qt designer 출력 파일) 을 .py로 바꾸는 법

pyuic4 -o ui_xxx.py input_xxx.ui

(PySide에서는 pyside-uic 를 사용한다)


SIP 설치

Qt Library를 모두 설치하였다면,

http://www.riverbankcomputing.co.uk/software/sip/download

여기로 가서 sip를 다운받고 설치해야 한다. PyQt 는 sip에 의존하기 때문이다.

# python ./configure.py

--prefix를 설정하지 않았는데, 이는 configure.py를 실행하는 python의 site-packages 디렉토리 밑으로 해당 확장 패키지가 설치되기 때문이다.

만약, "/usr/bin/python ./configure.py" 로 진행하면 "/usr/lib/python2.x/site-packages/" 밑으로 확장 패키지가 설치 된다.

# make

# make install


PyQt4 설치

http://www.riverbankcomputing.co.uk/software/pyqt/download

PyQt4를 다운바도 설치한다.

 

### 설치전에 디렉토리를 생성 후 거기서 configure, make, make install 을 실행하자. 이것도 Qt와 마찬가지로 이 안에 예제와 그외의 등등이 들어있는 것이라...

ex) ~/softwares/python/extension/


$ python ./configure.py

$ make

$ make install

$ cd ./examples/widgets/

$ python ./analogclock.py &

C++ Qt 에서 봤던  시계가 나타나면 PyQt가 제대로 설치된 것이다.


# make install 시 에러가 발생한다면, root 권한으로 다시 configure 부터 하면 됨.


PySide 설치

http://saelly.tistory.com/447


'Programming > etc' 카테고리의 다른 글

iPython Install On CentOS7  (0) 2014.09.17
Python matplotlib 설치 및 예제 실행  (1) 2014.09.15
CentOS7 QT5 Setup  (0) 2014.09.15
Linux PHPStrom 설정  (0) 2014.09.06
Installing Xdebug on CentOS  (0) 2014.09.06
Posted by scii
:


Python 내장 함수 중에 any(), all() 함수가 있다.

any([iterable]) -> Bool

any함수는 반복자를 인자로 받아서 참 혹은 거짓을 반환한다. 

any함수는 인자로 들어온 요소중에 하나라도 참이 되는 것이 있으면, 참을 반환하고, 모두 거짓일때만 거짓만 반환한다.

:: 하나라도 참이면 참을 반환한다!


all([iterable]) -> Bool

all함수는 반복자를 인자로 받아서 참 혹은 거짓을 반환한다.

all함수는 인자로 들어온 요소중에 하나라도 거짓이 되는 것이 있으면, 거짓을 반환하고, 모두 참일때만 참을 반환한다.

:: 모두가 참이면 참을 반환한다!


any, all 함수의 예제)


'Programming > Python' 카테고리의 다른 글

[REGEX] 전방 탐색 (Lookahead Assertions), 후방 탐색  (0) 2016.10.08
[REGEX] 그룹 재활용  (0) 2016.10.08
이진 트리  (0) 2013.05.31
bisect Module  (0) 2013.05.17
multiprocessing Module  (0) 2013.05.17
Posted by scii
:

CentOS7 QT5 Setup

Programming/etc 2014. 9. 15. 00:56 |


Qt 를 설치하기 전

yum install -y gcc-c++

yum install -y libX11-devel

yum install -y fontconfig-devel

yum install -y libXcursor-devel

yum install -y libXext-devel

yum install -y libXfixes

yum install -y libXft-devel

yum install -y libXi-devel

yum install -y libXrandr-devel

yum install -y libXrender-devel


이것들의 설치가 필요하다.



http://qt-project.org/downloads

or

https://download.qt.io/archive/qt/4.8/4.8.6/

위의 링크를 타고 qt 홈페이지에 간다.



사진에 있는 것을 다운받는다. qt 라이브러리는 말 그대로 qt를 쓸 수 있도록 제공하는 라이브러리들이다.


qt 설치

qt 라이브러리를 설치해야 qt를 쓸 수있고, PyQt, PySide도 쓸 수 있다.

압축을 풀고 컴파일한다. ./configure 할 때, --prefix를 적절하게 설정한다. --prefix를 하지 않아도 되는데, 하지 않으면 /usr/T~~이라는 곳에 설치된다.

나는 내가 원하는 곳에 설치를하려고 --prefix 옵션을 준 것이다.


$ gmake         # 상당히 오래 걸림.

$ gmake install


모두 설치가 됐다면, .bashrc 유저 환경 설정에 아래의 사진과 같이 경로를 추가한다.


source .bashrc로 환경 설정파일을 갱신시키고,

터미널에서 "qmake" 를 실행시키면 아래와 같이 나온다. 그럼 설치가 완료 된 것이다.


Qt Example 실행



Qt IDLE 설치


======================================================================================


만약, 터미널에서 designer를 실행 했는데 아래와 같은 core dumped가 발생한다면...


환경 변수에 QT_PLUGIN_PATH 를 설정하면 core dumped가 발생하지 않는다.



'Programming > etc' 카테고리의 다른 글

Python matplotlib 설치 및 예제 실행  (1) 2014.09.15
Python Qt4 설치  (0) 2014.09.15
Linux PHPStrom 설정  (0) 2014.09.06
Installing Xdebug on CentOS  (0) 2014.09.06
LAMP (Linux Based Apache, MariaDB, PHP) Install  (0) 2014.08.23
Posted by scii
:


데이터의 삭제

기존 테이블의 행을 삭제할 때는 다음 형식의 delete 문을 사용한다.

delete

from 테이블

[where 조건];

# 이 delete 문은 where 절의 조건을 만족하는 레코드를 모두 삭제한다.

만일 where절이 없으면 이 테이블은 튜플이 없는 빈 테이블로 된다.


하나의 레코드 삭제

query: 학번 100인 학생을 삭제하라.

delete 

from student

where sno = 100;

# 이 경우 만일 학번을 외래키(foreign key) 로 가지고 있는 테이블이 있다면 그 테이블에서도 같은 삭제 연산이 수행되어야 한다. 왜냐하면 참조 무결성을 유지해야 되기 때문이다. 이 예에서는 등록(enrol) 테이블에서 학번(열값)이 100인 열을 전부 삭제시켜야 된다.


복수의 레코드 삭제

query: 등록(enrol) 테이블의 모든 행을 삭제하라.

delete 

from enrol;

# 이 삭제문의 실행 결과로서 등록 테이블은 빈 테이블로 된다. 그러나 계속 데이터 베이스에 남아 있는 것이지 테이블 자체가 없어지는 것은 아니다. 

즉, 테이블의 제거 (drop) 와는 다르다.


부속 질의문을 사용한 삭제

query: 과목 'C413'의 기말 성적이 60점 미만인 컴퓨터과 학생을 등록 테이블에서 삭제하라.

delete

from enrol

where cno = 'C413' and final < 60

and enrol.sno in (select sno

from student

where dept = '컴퓨터');



Posted by scii
:


데이터의 삽입

기존 테이블에 행을 삽입할 경우에는 다음과 같은 형식의 insert 문을 사용한다.

insert

into 테이블[(열_이름_리스트)]

values (열값_리스트);

또는

insert

into 테이블[(열_이름_리스트)]

select문;

# 위의 첫 번째 형식은 행을 직접 삽입하는데 사용되고,

두번째 형식은 부속 질의문인 select문을 실행하여 그 결과(일반적으로 복수의 열) 를 지정된 테이블에 삽입하는 경우에 사용한다. 

열의 값과 열의 이름은 그 명시된 순서대로 일 대 일로 대응한다. 만일 열의 이름을 명시하지 않으면 이 테이블 정의문에 명시된 모든 열이 명시된 것으로 취급된다.


레코드의 직업 삽입

query: 학번: 600, 이름: 김 연아, 학년: 1, 학과: 후디니인 학생을 삽입하라.

insert

into student(sno, name, year, dept)

values (600, '김 연아', 1, '후디니');

# 위 예와 같이 학생 테이블에 있는 열의 이름이 모두 명시되고 그 순서가 학생 테이블 정의문에 명시된 순서와 같은 경우에는 다음과 같이 열이름 명시를 생략한 삽입문과 동등하다.

insert

into student

values (600, '김 연아', 1, '후디니');

# 만일 학과의 이름을 모든다고 하면 '학과'에 해당하는 난을 공백으로 남겨 두면 된다. 이때 이 값은 NULL 값으로 취급된다. 

그렇지 않으면 다음과 같이 삽입하려는 데이터값의 열이름과 함께 일 대 일로 명시해도 같은 결과가 된다.

insert

into student(sno, name, year)

values (600, '김 연아', 1);

# 하나의 insert문으로 여러 개의 행을 삽입할 수 있는데 이때는 한 행에 해당하는 값들을 괄호로 묶어 표시하면 된다.


부속 질의문을 이용한 레코드 삽입

query: 학생 테이블에서 컴퓨터과 학생의 학번, 이름, 학년을 검색하여 테이블 컴퓨터(computer)에 삽입하라.

insert

into computer(sno, name, year)

select sno, name, year

from student

where dept = '컴퓨터';

# 이 예에서는 테이블 컴퓨터가 존재하고 적어도 학번, 이름, 학년 열을 가지고 있다는 것을 가정하였다. 

만일 그렇지 않은 경우에는 이 테이블을 먼저 create table 문을 이용하여 생성한 다음 삽입해야 된신다. 이 질의문의 실행은 into 다음의 부속 질의문(select)을 먼저 실행하고 그 검색 결과를 전부 컴퓨터과 테이블에 삽입한다.


'Programming > DataBase' 카테고리의 다른 글

keywork BETWEEN, IN  (0) 2016.08.15
Basic  (0) 2016.07.31
SQL 데이터 조작문 - 데이터 갱신  (0) 2014.09.08
SQL 데이터 조작문 - 데이터 검색  (0) 2014.09.07
데이터베이스의 개요  (0) 2014.09.07
Posted by scii
: