글쓴이 보관물: totoli78

tar.gz

압축 하기

□ 사용법

1
$ tar -cvzf [압축된 파일 이름] [압축할 파일이나 폴더명]

eg) 해당 경로의 모든 파일을 xxx.tar.gz로 압축

1
$ tar -cvzf xxx.tar.gz *

eg) 권한(permission)이 없는 파일 패스하며, 해당 경로의 모든 파일을 xxx.tar.gz로 압축

1
$ tar -cvzf xxx.tar.gz * --ignore-failed-read

□ 옵션값

  • x : 묶음을 해제
  • c : 파일을 묶음
  • v : 묶음/해제 과정을 화면에 표시
  • z : gunzip을 사용
  • f : 파일 이름을 지정
  • p : 권한(permission)을 원본과 동일하게 유지

압축 풀기

□ 사용법

1
$ tar -xvzf [압축 해제할 압축 아카이브 이름]

eg) 해당 경로에 xxx.tar.gz 파일의 압축을 해제

1
$ tar -xvzf xxx.tar.gz

MySQL innoDB 복구 절차

mysql의 스토리지 엔진 중(MyISAM, InnoDB) InnoDB에 관련 된 데이터 복구 방법에 대한 설명이다.

본래 InnoDB는 Mysql이 손상되어도 .frm 파일과 ibdata1파일만 존재하여도 복구가 가능하다.(이 방법은 아주 간단하므로 설명 제외)

 

이번에 설명할 내용은 ibdata1 인 데이터 파일이 손실될 경우에 복구하는 방법에 대해 설명이다.

Mysql은 정상 시작시 파일의 유무 및 다른 파일등을 검사한다.

하지만 파일이 손상되었을 경우 시작하자마자 서비스를 자체적으로 중단한다.

이에 InnoDB는 파일의 검사 등을 하지 않고 강제로 서비스를 시작하여 복구하는 모드가 따로 존재한다.

윈도우 기준으로 Mysql 설치 폴더/my.ini 이하 my.ini 파일에 innodb_force_recovery라는 명령어를 추가 시켜 주고 서비스를 재시작 하면 강제 복구 모드로 설정된다.

예) innodb_force_recovery = 1

숫자는 1에서 6까지 사용 가능하며, 1이 가장 안전하고 좋은 복구 모드이고, 1에서 복구가 안된다면 1~6까지 순차적으로 값을 바꿔가야 한다.

자세한 내용은 http://www.mysqlkorea.co.kr/sub.html?mcode=manual&scode=01&m_no=21875&cat1=14&cat2=422&cat3=442&lang=k 를 참고 하길 바란다.

 

위와 같이 프로그램을 시작하면 서비스가 정상적으로 시작하게 되며 그후에 dump로 파일을 백업 시킬 수 있다.

덤프 명령어는 Mysql설치폴더/bin에서 mysqldump -u계정명 -p 데이터베이스명 > 백업할파일.sql 로 하면 백업이 되고

반대로 mysqldump -a -u계정명 -p 데이터베이스명 < 백업할파일.sql 이와 같이 하면 복원이 된다.

 

만약 1이 아닌 복구 모드로 실행시 파일이 전체적으로 백업되지 않았을 경우 복구 모드에 우선순위를 높여 select 명령어로 검사후 csv파일로 저장

저장 후 벌크 인서트로 파일 다시 불러옴

벌크는 http://kr.blog.yahoo.com/freud19390723/79 를 참고

 

복원이 완료 된 후에는 innodb_force_recovery = 1를 삭제후 프로그램 재시작을 한다.

 

간단히 설명하자면 파일이 손상된 경우

1. 서비스 시작 중지

2. my.ini파일에 innodb_force_recovery = 1~6 값 설정 후 저장

3. 서비스 시작

4. 서비스 시작시 정상 동작이면 6. 아니면 5.

5. 정상 동작이 아닐경우 다른 복구 모드를 선택하여 서비스 시작

6. 정상 동작일 경우 mysqldump로 파일 백업

7. 높은 우선순위로 변경하여 파일로 저장후 벌크 인서트로 다시 넣음

8. 복구 모드 삭제 후 서비스 재시작

 

MySQL db, table 백업덤프 생성

콘솔창 mysql설치폴더/bin/폴더 아래에서 해당 명령어를 실행하면 같은 위치에 sql파일들 생성
 

 
1. 전체 DB백업/복원
 
백업 : mysqldump -u아이디 -p –all-databases > 저장할파일명.sql 
복원 : mysqldump -u아이디 -p < 불러올파일명.sql 
2. 특정 DB백업/복원
백업 : mysqldump -u아이디 -p DB명 > 저장할파일명.sql 
복원 : mysql -u아이디 -p DB명 < 불러올파일명.sql 
3. 특정 Table백업/복원
백업 : mysqldump -u아이디 -p DB명 Table명> 저장할파일명.sql 
복원 : mysql -u아이디 -p DB명 < 불러올파일명.sql 
4. 데이터를 제외한 특정 Table Schema(구조)만 백업/복원
백업 : mysqldump -u아이디 -p DB명 Table명 > 저장할파일명.sql 
복원 : mysql -u아이디 -p DB명 < 불러올파일명.sql 

How to run program or process on specific CPU cores on Linux

How to run program or process on specific CPU cores on Linux

As multi-core CPUs become increasingly popular on server-grade hardware as well as end-user desktop PCs or laptops, there have been growing efforts in the community (e.g., in terms of programming models, compiler or operating system support) towards developing applications optimized for multi-core architecture.

One operating system (OS) support often exploited to run performance-critical applications on multi-core processors is so-called “processor affinity” or “CPU pinning”. This is an OS-specific feature that “binds” a running process or program to particular CPU core(s).

Binding a program to specific CPU cores can be beneficial in several scenarios. For example, when an application with highly cache-bound workload runs together with other CPU-intensive jobs, pinning the application to a specific CPU would reduce CPU cache misses. Also, when two processes communicate via shared memory intensively, scheduling both processes on the cores in the same NUMA domain would speed up their performance.

In this tutorial, I will describe how to run a program or process on specific CPU cores on Linux.

To assign particular CPU cores to a program or process, you can use taskset, a command line tool for retrieving or setting a process’ CPU affinity on Linux.

Install taskset on Linux

The taskset tool is part of “util-linux” package in Linux, and most Linux distros come with the package pre-installed by default. If taskset is not available on your Linux system, install it as follows.

To install taskset on Debian, Ubuntu or Linux Mint:

$ sudo apt-get install util-linux

To install taskset on Fedora, CentOS or RHEL:

$ sudo yum install util-linux

View the CPU Affinity of a Running Process

To retrieve the CPU affinity information of a process, use the following format. taskset returns the current CPU affinity in a hexadecimal bitmask format.

taskset -p <PID>

For example, to check the CPU affinity of a process with PID 2915:

$ taskset -p 2915
pid 2915's current affinity mask: ff

In this example, the returned affinity (represented in a hexadecimal bitmask) corresponds to “11111111” in binary format, which means the process can run on any of eight different CPU cores (from 0 to 7).

The lowest bit in a hexadecimal bitmask corresponds to core ID 0, the second lowest bit from the right to core ID 1, the third lowest bit to core ID 2, etc. So for example, a CPU affinity “0x11” represents CPU core 0 and 4.

taskset can show CPU affinity as a list of processors instead of a bitmask, which is easier to read. To use this format, run taskset with “-c” option. For example:

$ taskset -cp 2915
pid 2915's current affinity list: 0-7

Pin a Running Process to Particular CPU Core(s)

Using taskset, you can “pin” (or assign) a running process to particular CPU core(s). For that, use the following format.

$ taskset -p <COREMASK> <PID>
$ taskset -cp <CORE-LIST> <PID>

For example, to assign a process to CPU core 0 and 4, do the following.

$ taskset -p 0x11 9030
pid 9030's current affinity mask: ff
pid 9030's new affinity mask: 11

Or equivalently:

$ taskset -cp 0,4 9030

With “-c” option, you can specify a list of numeric CPU core IDs separated by commas, or even include ranges (e.g., 0,2,5,6-10).

Note that in order to be able to change the CPU affinity of a process, a user must have CAP_SYS_NICE capability. Any user can view the affinity mask of a process.

Launch a Program on Specific CPU Cores

taskset also allows you to launch a new program as pinned to specific CPU cores. For that, use the following format.

taskset <COREMASK> <EXECUTABLE>

For example, to launch vlc program on a CPU core 0, use the following command.

$ taskset 0x1 vlc

Dedicate a Whole CPU Core to a Particular Program

While taskset allows a particular program to be assigned to certain CPUs, that does not mean that no other programs or processes will be scheduled on those CPUs. If you want to prevent this and dedicate a whole CPU core to a particular program, you can use “isolcpus” kernel parameter, which allows you to reserve the CPU core during boot.

Add the kernel parameter “isolcpus=<CPU_ID>” to the boot loader during boot or GRUB configuration file. Then the Linux scheduler will not schedule any regular process on the reserved CPU core(s), unless specifically requested with taskset. For example, to reserve CPU cores 0 and 1, add “isolcpus=0,1” kernel parameter. Upon boot, then use taskset to safely assign the reserved CPU cores to your program.

한글 깨짐 fix

-. 파일명 한글 교정

find . -exec convmv -r –notest -f euc-kr -t utf-8 {} \;

 

-. 특정 폴더 및 하위 파일 중 txt 파일만 한정하여 인코딩 변환

find / -name *.txt -execdir iconv -f EUC-KR -t UTF-8 {} -o {}.tmp \; -execdir mv -f {}.tmp {} \;

 

-. 음원파일 한글 교정

find -type f -iregex “.*/.*\.\(ogg\|mp3\|flac\)” -print0 | xargs -0 mid3iconv -e cp949

Serv-U 설정 백업 또는 이동

Serv-U 설정 백업

Windows 7, 8, Server 2008 R2 및 Server 2012의 새로운 요구 사항에 따라 Serv-U는 중요한 설정 파일을 이제 “ProgramData”폴더에 저장합니다. 즉, Serv-U 설정은 설치 한 Windows의 버전에 따라 서로 다른 두 위치 중 하나에있을 수 있습니다. 백업해야하는 파일은 다음과 같습니다.

  • Serv-U 아카이브 파일
  • 사용자 폴더
  • Serv-UID.txt 파일

이러한 파일은 다음 위치에 저장됩니다.

  • Windows Vista / 7 / 8, Server 2008/2012 – C : \ ProgramData \ RhinoSoft \ Serv-U ( 기본적으로 Windows에서는 폴더가 숨김 )
  • Windows 2000 / XP, Server 2000/2003 – C : \ Program Files \ RhinoSoft \ Serv-U
  • 리눅스 – / usr / local / Serv-U

FTPS 또는 SFTP를 사용하는 경우 위의 기본 구성 파일과 함께 추가 키 및 인증서 파일을 백업해야합니다.

  • .crt로 끝나는 파일
  • .pem으로 끝나는 파일
  • .key로 끝나는 모든 파일

Serv-UID.txt 파일에는 라이센스 키 정보가 들어 있습니다. 이 파일은 Serv-U 관리 콘솔에 라이센스 ID를 입력 할 때 생성되며 설치 디렉토리에 저장되지만 다른 파일은 시스템의 다른 위치에있을 수 있습니다. 이 파일을 사용하고 있는지 확인하는 가장 좋은 방법은 도메인 제한 및 설정 | 암호화 (각 도메인) 및 서버 제한 및 설정 | 암호화 탭을 클릭하여 해당 파일의 저장 위치를 ​​확인하십시오. (이 모든 것을 서버의 하나의 디렉토리 또는 도메인 당 하나의 디렉토리에 저장하여 백업하기 쉽도록하는 것이 가장 좋습니다.)

Serv-U 게이트웨이 파일 백업

Serv-U 게이트웨이를 업그레이드하기 전에 특정 데이터를 백업해야합니다. 백업해야하는 데이터는 다음 기본 데이터 디렉토리 중 하나에 저장됩니다.

  • Windows Vista / 7 / 8, Server 2008/2012 – C : \ ProgramData \ RhinoSoft \ Serv-U 게이트웨이
  • Windows 2000 / XP, Server 2000/2003 – C : \ Program Files \ RhinoSoft \ Serv-U 게이트웨이
  • Linux – / usr / local / Serv-U 게이트웨이

다음 파일을 백업해야합니다.

  • Serv-U-Gateway-ID.txt
  • Accept-Public-IP-CIDRs.txt

참고 : Accept-Public-IP-CIDRs.txt 파일은 Serv-U 게이트웨이 설치 디렉토리에 있으며 데이터 디렉토리와 다를 수도 있습니다. Windows Vista / 7 / 8 및 Windows Server 2008/2012의 경우 설치 디렉토리가 데이터 디렉토리와 다릅니다.

파일 공유 데이터베이스 백업

파일 공유 데이터베이스를 새로운 또는 업그레이드 된 Serv-U 인스턴스로 마이그레이션하려면 운영 체제 버전에 따라 다음 폴더 중 하나를 이전 서버에서 새 서버로 복사하십시오.

참고 : 폴더를 복사하기 전에 Serv-U 인스턴스를 중지하십시오.

  • C : \ ProgramData \ RhinoSoft \ Serv-U \ Shares
  • C : \ Program Files \ RhinoSoft \ Serv-U \ Shares

파일 공유 저장소의 내용 백업

파일 공유 리포지토리의 내용을 새 또는 업그레이드 된 Serv-U 인스턴스로 마이그레이션하려면 다음 단계를 수행하십시오.

  1. Serv-U 관리 콘솔에서 도메인> 제한 및 설정> 파일 공유를 클릭하십시오 .
  2. 파일 공유 리포지토리 의 위치를 ​​기록하고 해당 폴더의 내용을 백업하십시오.
  3. Serv-U 마이그레이션이 완료되면 새 시스템의 동일한 위치에 새 파일 공유 저장소를 만듭니다.

Serv-U 구성 파일 백업 및 복원

Serv-U 구성은 위에 나열된 Serv-U.Archive 파일, 사용자 폴더 및 보조 파일을 백업용 폴더 또는 새로운 Serv-U 설치 (서버용)로 복사하여 백업하거나 복원 할 수 있습니다 복원 또는 마이그레이션). 원본 서버에서 파일 복사는 Serv-U 서버가 데이터 무결성 문제없이 실행되는 동안 수행 할 수 있습니다. 그러나 구성 파일을 새 서버로 복원하거나 기존 서버를 재구 성할 때 파일을 가져 오는 동안 Serv-U 서비스를 중지 해야합니다 . Serv-U 서비스를 중지하려면 Serv-U 트레이를 마우스 오른쪽 버튼으로 클릭하고 “Serv-U 중지”를 선택하십시오.

백업 유틸리티

이 RhinoSoft 유틸리티 는 대부분의 Serv-U 설정을 백업하며 SSH 키, SSL 인증서 및 기타 중요한 요소를 백업하도록 구성 할 수 있습니다.

Serv-U 구성 마이그레이션

기본 레벨에서 이전 서버의 새로운 서버로 Serv-U를 마이그레이션하려면 “Serv-U 구성 파일 백업 및 복원”단원의 단계 만 수행하면됩니다. 예를 들어 이전 서버에서 새 서버로 파일을 복사하고 파일을 중지 한 Serv-U 인스턴스로 복사하여 구성 파일을 시작할 때 Serv-U에서 사용하도록합니다.

참고 : 한 운영 체제에서 다른 운영 체제로 Serv-U를 마이그레이션하는 경우에도 동일한 단계가 적용됩니다.

또한 이전 서버에서 새 서버로 마이그레이션 할 때 몇 가지 추가 고려 사항이 있습니다.

버저 닝과 관련하여 Serv-U 7.0.0.1의 구성 파일을 Serv-U 12를 실행하는 서버로 직접 마이그레이션 할 수 있습니다.이 파일은 새 파일을 직접로드 할 수 있으며 새로운 기능을 수용하는 데 사용되는 추가 필드로 자동 업데이트됩니다. 더 이상 작업 할 필요가 없습니다. Serv-U 6 이전 버전에서 Serv-U 12.1.0.6 이상 버전으로 마이그레이션하는 관리자 는 새 Serv-U 릴리스에서 사용하도록 사용자 및 설정을 업데이트하기 위해 KB 조항 1154 를 참조해야합니다 (설정 또는 사용자가 손실 됨). ).

많은 관리자는 프로덕션에 배포하기 전에 새 Serv-U 서버로 스테이지 테스트를 수행해야합니다. Serv-U의 설치 프로그램은 대부분의 stage-to-production 테스트에 충분할 30 일 평가판을 제공합니다. RhinoSoft는 추가 테스트를 위해 필요한 경우 추가 30 일 평가판 확장을 제공 할 수 있습니다. 평가판 연장판을 받으려면 RhinoSoft 기술 지원부에 문의하십시오 .

pc를 다시 깔면서 plex 백업 방법

컴을 다시 깔고

일단

C:UsersAdministratorAppDataLocalPlex Media Server

이곳을 전체카피 해서 다른곳에 두었습니다.

월래

plex의 기본 설치 디렉토리는

C:Program Files (x86)PlexPlex Media Server

이곳이지만

이곳을 보니 xml 이라던지 어째서인지 백업에 대한 설정 화일이 없는것 같더라구요

그래서

C:UsersAdministratorAppDataLocalPlex Media Server 을 통채로 복사 하니

한 5기가정도? 되더라구요

여튼 이런저런 고민 하지 않고 백업한다음

 

1) 윈도우 새로 깔고->

2) plex설치하고 실행은 하지 않은 다음->

3) C:UsersAdministratorAppDataLocal  이곳에 백업한 Plex Media Server 디렉토리를 전부 넣기

4) plex 실행

5) 설정->서버->외부접속 확인-> 안될경우 ->고급설정 보이기-> remote access ->수동으로 포트를 지정 ->적용 ->초록색 확인

6)사용자->친구모록->친구 찾아 공유디렉토리 재설정

까지 해서 기존 설정과 차이 없는지 확인했습니다.

image optimization

image optimization

 

–PNG

optipng -o6 -strip all *.png

 

–JPG

jpegoptim –strip-all *.jpg

IIS 7.x 설정 백업 및 복원

Windows Server 백업 기능을 사용해서 운영체제와 파일 백업에 대한 소개에 이어 이번 포스티엥서는 IIS 7 설정을 백업하고 복원하는 방법에 대해서 살펴 보도록 하겠습니다. 

Chapter 5에서 appcmd.exe 커맨드라인 도구를 소개할 때, 간략히 백업과 복원 명령어를 소개하였습니다만 커맨드라인 명령 뿐만 아니라 IIS 7 인터넷 정보 관리자 인터페이스를 통해서 쉽게 IIS 7 설정을 백업하고 복원할 수도 있습니다. 두 가지 방법 예제를 통해 살펴보겠습니다. 개인적으로는 검증된(?) 그리고 활용도가 높은 appcmd.exe 명령 사용을 추천해 드립니다


1. appcmd.exe 명령으로 IIS 7 설정 백업과 복원하기 
 가. 바이너리 위치 및 도움말 정보 보기 : %WindDir%\System32\InetSrv\appcmd.exe /? 

 
나. 백업하기 
  1) C:\Windows\System32\intersrv> appcmd add backup 
  2) 백업 파일 이름을 지정해 주지 않으면 현재 타임스탬프 이름으로 백업됩니다. 

 
다. 백업 목록 확인 
  1) appcmd list backup 
  2) 이미 존재하는 BACKUP “CFGHISTORY_Serialnumber” 형태로 기록된 정보는 매 2분마다 IIS 7 구성 정보 변경 여부를 체크하여 변경 사항이 있을 때마다 자동으로 백업이 수행된 기록입니다. %SystemDrive%\InetPub\history 폴더에서 백업된 정보를 확인하실 수 있습니다. 


 라. 백업 정보 삭제 
  1) appcmd delete backup 20110107T102003 


 마. 백업 및 복원 시나리오 
  1) “laigo” 라는 백업 이름으로 백업을 수행합니다.

appcmd add backup laigo 


  2) “laigo” 백업 세트를 사용하여 즉시 복원하고 IIS 서비스를 재시작 합니다. 

appcmd restore backup /backup.name:”laigo” 


  3) 복원 시 IIS 서비스 재시작을 원치 않는다면 /stop:false 파라미터를 사용하시면 됩니다. 물론 수동으로 재시작해야 변경 사항이 적용됩니다. 

appcmd restore backup /backup.name:”laigo” /stop:false 





2. IIS 7 백업 복원 사용자 인터페이스 
 가. 다운로드 (IIS7 Backup Restore UI) 
     http://www.iis.net/community/default.aspx?tabid=34&g=6&i=1552 

 
나. 다운로드 받은 파일의 압축을 해제한 후 IIS7BackupRestoreUI.dll 파일을 글로벌 어셈블리 캐쉬(C:\Windows\assembly 폴더로 Drag & Drop 하면 자동으로 설치됩니다. 


다. 메모장 실행 후 %WinDir%\System32\InetSrv\config\Administration.config 파일을 열어 <moduleProviders> 이름으로 검색한 후 해당 섹션 아래에 다음 내용을 추가합니다. 

<add name=”IIS7BackupRestoreUI” type=”IIS7BackupRestoreUI.MyModuleProvider, IIS7BackupRestoreUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=db9daa3d2ea5f6fd” /> 


다시 한 번, <modules> 이름으로 검색한 후 해당 섹션 아래 아래 내용도 추가합니다. 

<add name=”IIS7BackupRestoreUI” /> 



수정된 파일을 저장합니다.



 라. 인터넷 정보 관리자를 실행하면 아래 그림과 같이 Backup Restore 메뉴가 추가된 것을 확인할 수 있으며 IIS7BackupRestoreUI 기능이 아이콘으로 추가 되었음을 확인할 수 있습니다.   


 
 마. 신규 백업을 생성하기 위해서는 Backup Name 에 백업세트 이름을 입력한 뒤 ‘Create’ 버튼을 클릭하시면 됩니다. 필요
 , Web.config 파일도 백업 여부를 선택할  있습니다백업  성공하면 성공되었다는 팝업창이 나타나게 됩니다백업이 완료된 이후 appcmd list backup 명령으로도 백업 세트를 확인하실 수 있습니다.   


 바. 이후
 복원을 하기 위해서는 Available Backups 항목에 있는 드롭다운 리스트 박스 버튼을 클릭하면 현재 백업 되어 있는 목록들을 보여주게 되며 선택하여 복원할 수 있습니다. 복원 시, 아래에 있는 Log 메시지 창을 통해 복원 결과를 확인하실 수 있습니다.   


IIS 7 백업 복원 사용자 인터페이스를 사용하실 때, 몇 가지 주의하실 사항이 있습니다. 우선 복원 시, 자동으로 IIS 서비스가 재시작 된다는 것과 반드시 백업 후에는 복원 테스트를 통해 권한이나 그 외 예외가 발생하지 않는지 테스트가 필요합니다. 제가 테스트한 일부 환경에서는 복원 실패 사례가 있었으나 아직 많은 테스트를 진행하지 못해 구체적인 정보를 전해 드리기 어렵습니다. 개인적으로는 appcmd.exe 명령을 사용하여 백업, 복원을 관리하는 것을 권장해 드리고 싶습니다. 

컨텐츠 또는 데이터베이스 백업은 신경 쓰면서 운영체제와 웹 서비스의 설정 정보의 백업은 소홀하진 않으셨는지요? 보신 바와 같이 정말 간단하게 APPCMD 명령 한 줄이면 현재 IIS 웹 서버의 구성 정보를 안전하게 백업 받을 수 있습니다. 명령어 사용을 아끼지 말고 작업 작업  항상 백업 자료 관리 신경  주시면 정신 건강에 아주 이로울 거라 확신합니다.



출처: http://laigo.kr/602 [Lai Go’s Blog]

background jobs

jobs  : 현재 백그라운드로 돌아가는 프로그램 리스트

fg : 백그라운드로 실행되는 프로그램을 포그라운드

& :  프로세스를 백그라운드로 실행

 

예)

#>  top &                << top을 백그라운드로 실행

 

#>   jobs                   << 백그라운드로 실행되는 프로그램을 확인

 

[1]+  Stopped                 top

#>   fg %1                 << 백그라운드로 실행되는 top명령을 다시 불러움

#>   nohup top &      << 콜솔이 끊겨도 계속 동작

ps -aux | grep top