1. Cron Job 등록 crontab -e로 job을 등록할 수 있다. # crontab -e 실행 후 아래 line 등록 # 매월 9일 21시 8분에 run.sh 실행 8 21 9 * * /home/user/.../run.sh # weekday(월-금) 매일 18시 0분에 run.sh 실행 0 18 * * 1-5 /home/user/.../run.sh 2. Cron Job 확인 crontab -l을 확인하면 등록한 job 목록을 보여준다. user@user-System-Product-Name:~/$ crontab -l MAILTO="" # Edit this file to introduce tasks to be run by cron. # # Each task to run has to be define..
세션 시작 tmux new -s mysession 세션 종료 tmux kill-session -t mysession 세션 리스트 tmux ls 세션 접속 tmux attach -t mysession 세션 화면 빠져나오기 ctrl+b 후 d [참고] https://www.redhat.com/sysadmin/introduction-tmux-linux#:~:text=To%20start%20using%20tmux%2C%20type,window%2C%20and%20attaches%20to%20it. https://tmuxcheatsheet.com/
git clone시 repository 주소와 함께 사용자 아이디를 함께 입력할 때가 있다. 1) 아이디만 입력 git clone https://username@github.com/username/repository.git 2) 아이디, 패스워드 입력 비밀번호가 노출되기 때문에 권고되는 방법은 아니다. git clone https://username:password@github.com/username/repository.git
scp는 ubuntu에서 제공하는 기본 커멘드로 Scurity Copy의 약자이다. Security인 이유는 ssh와 같이 SSL기반의 세션 보안 프로토콜을 사용하기 때문에 FTP보다 보안적으로 좋다. scp 명령어 기본 사용법은 다음과 같다. $scp @: scp로 파일 전송은 아래 두 가지 방식이 모두 가능하다. 1) 전송지에 접속해 수신지로 보내기 2) 수신지에 접속해 전송지에서 가져오기 scp 파일 전송 시 port 지정은 대문자 -P로 한다. ssh 접속시에는 소문자 -p를 사용하기 때문에 헷갈리기 쉽다. scp 폴더의 모든 파일을 보낼 때는 -r 옵션을 준다. 1. 전송지에서 접속해 수신지로 보내기 scp [전송할 파일] [수신지 사용자 이름]@[수신지 ip]:[저장할 디렉토리] scp -r ..
1. ubuntu 프로세스 확인 1) ps -ef 실행중인 프로세스 전체 목록 출력(PID, time 등 확인 가능) ps -ef 2) ps -ef | grep 프로세스 이름 특정 언어(ex. python)로 실행되고 있는 프로세스 정보 출력 ps -ef | grep python 2. ubuntu 프로세스 종료 kill -9 프로세스 id kill -9 (PID 숫자) 3. ps 명령어 옵션들 ps: 현재 실행중인 프로세스의 목록을 볼 수 있는 명령어 -e: 현재 실행중인 모든 프로세스의 정보 출력 -f: 프로세스에 대한 자세한 정보 출력(PPID 등) -u [사용자이름]: 특정 사용자에 대한 모든 프로세스의 정보를 출력 -p pid: 특정 pid에 대한 정보를 출력 u: 프로세스 소유자의 이름, CPU..
1. Docker란? 1) Docker Docker는 컨테이너 방식으로 프로세스를 격리해서 실행하고 관리할 수 있게 해주는 도구로, 계층화된 파일 시스템에 기반해 효율적으로 이미지(프로세스 실행 환경)을 구축할 수 있게 해준다. 일반적으로 가상머신(Virtual Machine)은 호스트 머신(Host Machine)에 '가상화된 하드웨어'와 'OS'를 구축하며, 시스템 분리를 통해 프로세스를 격리시킨다. 하지만 Docker Container는 프로세스의 실행 환경 자체를 격리시킨다. 이렇게 되면 호스트 머신 입장에서는 단순히 프로세스에 불과하지만, 사용자나 컨테이너 입장에서는 호스트와 무관하게 동작하는 가상머신으로 보인다. Docker는 Ubuntu 위에서 안정적으로 실행되므로 Ubuntu 사용을 적극 ..
ubuntu 환경에서 프로세스를 실행시킬 때 실행시간을 측정하는 방법을 소개하고자 한다. time명령어를 사용하면 프로세스 실행이 끝난 후 real, user, sys 3가지 실행시간을 출력한다. 1. Ubuntu 프로세스 실행시간 측정 실행할 명령어 앞에 time을 붙여서 실행하면 실행시간을 측정할 수 있다. time source script.sh '''script running logs''' '''script running logs''' '''script running logs''' ... real 2m51.954s user 3m25.265s sys 0m3.250s 2. time 명령어의 real, user, sys 구분 Real - process가 시작되어 끝나는데 걸린 시간(elapsed time..
프로세스를 백그라운드에서 실행시키고, 로그를 저장하여 확인하는 방법을 소개하고자 한다. 백그라운드 실행 및 로그 확인 nohup ./script.sh & # 권한 755 이상이어야 함 tail -f nohup.out # nohup으로 돌아가는 프로세스 로그 실시간으로 확인
1. df 1) 디스크 별 용량 확인 df -h 2. du 1) 특정 디렉토리 용량 확인 du -hs folder -h 옵션은 사람이 읽을 수 있는 형태(mb, gb단위)로 출력해준다. 2) 현재 폴더에 있는 폴더 및 파일 용량 출력 du -hs * 3) 현재 폴더에서 파일 용량이 큰 순서대로 출력 du -h --max-depth=1 | sort -hr 4) 현재 디렉토리에서 상위 10개 폴더의 용량 보기 sudo du -hsx * | sort -rh | head -n 10 5) 디렉토리에 있는 폴더들의 모든 용량을 큰 순서로 정렬 # root dir sudo du -ah --max-depth=1 / | sort -hr # 현재 dir sudo du -ah --max-depth=1 . | sort -hr..
먼저 zip 모듈을 설치해준다. apt-get update apt-get install zip 1. zip zip 명령어는 다음과 같은 형태이다 zip [생성될 압축 파일 명] [압축할 폴더 또는 파일1] [압축할 폴더 또는 파일2] ... zip -r data.zip folder1 folder2 # -r 디렉토리와 내부 파일 모두 압축함 -r 설정으로 압축할 때 특정 파일을 제거하고 압축하는 경우가 생길 수 있다. 이때는 -x 으로 제거할 파일 명을 설정한다. zip -r data1.zip [압축할 폴더 명1] -x '*.git*' zip -r data2.zip [압축할 폴더 명2] -x '*.ipynb*' 2. unzip unzip [파일이름].zip unzip [파일이름].zip -d [destin..
Container를 -d -it 옵션으로 실행하면 background에서 실행시킬 수 있다. 하지만 attach 이후 exit, Ctrl+D로 빠져나오면 Container가 멈춘 상태로 빠져나온다. Container를 running 상태로 두면서 빠져나오기 위해서는 Ctrl+p, Ctrl+q를 순서대로 입력(중간에 메세지가 안떠도 끝까지 입력)해주면 아래와 같이 메세지가 뜨면서 Container를 빠져나올 수 있다. root@28874f4ba321:/workspace# read escape sequence docker ps -a로 확인해주면 여전히 Up 상태인 것을 확인할 수 있다
딥러닝 서버 구축 및 PyCharm에서의 개발환경 세팅을 위해 거쳤던 과정들을 정리하고자 한다. 목차는 다음과 같다 1. Docker 기반의 딥러닝 환경 구축 2. PyCharm에서 서버 환경 접속 및 세팅 1번 글대로 환경을 구축하고 있었다면 다음과 같이 2개의 terminal이 띄워져있을 것입니다. ① Container를 실행시킨 terminal (서버) ② 실행중인 Container에 접속한 terminal (클라이언트) ②를 실행하는 유저 머신에서 PyCharm 개발환경 세팅하는 부분을 설명드리겠습니다. 2. PyCharm에서의 서버 환경 접속 및 세팅 (1) PyCharm 개발 환경 세팅 PyCharm은 VSCode 처럼 서버 환경에 직접 접속하는 것이 아니라 로컬 개발환경에 폴더를 따로 만들어..
딥러닝 실험환경을 구축하고 관리하기 가장 쉬운 방법을 정리하고자 합니다. 1. Docker 기반의 딥러닝 환경 구축 2. PyCharm에서 서버 환경 접속 및 세팅 1. Docker를 활용한 딥러닝 환경 구축 서버 환경은 다음과 같다(ubuntu 사용할 것을 적극 권장합니다) ubuntu 18.04 docker 19.03.5 ubuntu에서 terminal을 띄워서 아래 과정을 거칩니다. (1) Docker 설치 curl -s https://get.docker.com | sudo sh # 공식 도커 설치 스크립트 docker -v # Docker 버전 확인 먼저 Docker를 설치해줍니다. Docker 기반으로 돌아가는 Container는 Ubuntu에서 안정적으로 실행되고 윈도우보다 세팅이 훨씬 쉽습니..
tensorflow-gpu 버전을 설치한 후 실행환경에서 GPU를 잡고 있는지 확인할 수 있는 방법을 정리해보겠습니다. 1) tensorflow 내에서 확인 ># python3 >>> from tensorflow.python.client import device_lib >>> device_lib.list_local_devices() ... 아래와 같이 GPU가 뜨는 것을 확인할 수 있습니다. 2) nvidia-smi로 확인 terminal 창에서 nvidia-smi를 입력하면 python3 process가 GPU를 잡고 있는 것을 확인할 수 있습니다.