1. 크론탭 기본 (crontab basic)

일단 기본이 되는 크론탭 사용법을 한 번 볼까요. 리눅스 쉘에서 다음처럼 입력합니다.
$ crontab -e


그러면 뭔가 편집할 수 있는 곳이 로딩됩니다. 이곳이 바로 크론탭을 설정할 수 있는 장소이죠. 여기에 각종 크론탭 명령어를 입력후 콜론(:) 입력 후에 wq 를 입력해 크론탭을 갱신시킵시다.

반대로 현재 크론탭에 어떤 내용이 들어있는지 보려면 다음처럼 입력하세요.
$ crontab -l


그러면 cat 명령어로 파일을 읽어들인 것처럼 표준 출력으로 크론탭 내용이 나오게 됩니다. 그런데 만약(거의 없겠지만) 크론탭을 지우고 싶다면?

리눅스 쉘에 다음처럼 입력합니다.
$ crontab -r


이렇게까지 하면 크론탭의 기본 설정 및 확인, 삭제에 대해 배운 것입니다. 그러면 실제로 크론탭에 크론 하나를 예제로 등록 해봅시다.

다음처럼 crontab -e 입력 후 다음과 같은 내용을 입력합시다. 저장은 vi 처럼 콜론 (:) 입력 후 wq 로 갱신시켜주면 됩니다.
* * * * * ls -al


별이 다섯개나 있습니다. 그리고 뒤에는 명령어가 적혀 있네요. 이게 기본 사용법입니다. 물론 쉘스크립트 뿐만 아니라 리눅스 커맨드도 사용할 수 있습니다.여기서는 쉘스크립트를 사용하는 방법으로 설명하고 있습니다.

별이 다섯개 있는 경우엔 "매분마다 실행" 하는겁니다. 별이 지칭하는 것이 무엇인지 자세히 살펴봅시다. * 그 전에 위에 입력했던 크론잡은 다시 지우시기 바랍니다.

2. 주기 결정
*      *      *      *      *
분(0-59)  시간(0-23)  일(1-31)  월(1-12)   요일(0-7)


각 별 위치에 따라 주기를 다르게 설정 할 수 있습니다. 순서대로 분-시간-일-월-요일 순입니다. 그리고 괄호 안의 숫자 범위 내로 별 대신 입력 할 수 있습니다.

요일에서 0과 7은 일요일입니다. 1부터 월요일이고 6이 토요일입니다.

3. 주기별 예제

3.1. 매분 실행
# 매분 test.sh 실행
* * * * * /home/script/test.sh


3.2. 특정 시간 실행
# 매주 금요일 오전 5시 45분에 test.sh 를 실행
45 5 * * 5 /home/script/test.sh


3.3. 반복 실행
# 매일 매시간 0분, 20분, 40분에 test.sh 를 실행
0,20,40 * * * * /home/script/test.sh


3.4. 범위 실행
# 매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행
0-30 1 * * * /home/script/test.sh


3.5. 간격 실행
# 매 10분마다 test.sh 를 실행
*/10 * * * * /home/script/test.sh


3.6. 조금 복잡하게 실행
# 5일에서 6일까지 2시,3시,4시에 매 10분마다 test.sh 를 실행
*/10 2,3,4 5-6 * * /home/script/test.sh

 

? 주기 입력 방법엔 * , - / 을 이용하는 방법이 있습니다. 위에서 보셨듯이 각각의 특수기호가 하는 기능이 다르고 조합을 어떻게 하느냐에 따라 입맛대로 주기를 설정 할 수 있습니다.

4. 크론 사용 팁

4.1. 한 줄에 하나의 명령만 씁시다.
# 잘못된 예
* * * 5 5
/home/script/test.sh

# 잘된 예
* * * 5 5 /home/script/test.sh


4.2. 주석을 달아봅시다.
# 주석 #
#--------------------#
# 이것은 주석입니다. #
#--------------------#


# 을 입력해서 그 뒤로 나오는 모든 문자를 주석 처리할 수 있습니다.

5. 크론 로깅 (cron logging)

크론탭을 사용해서 정기적으로 작업을 처리하는 것은 좋은데, 해당 처리 내역에 대해 로그를 남기고 싶을 때가 있을겁니다. 그럴때 다음처럼 한번 써봅시다.
* * * * * /home/script/test.sh > /home/script/test.sh.log 2>&1

 

 


위처럼 작성하면 매분마다 test.sh.log 파일이 갱신 되어 작업 내용이 어떻게 처리 되었는지 알 수 있습니다. 만약 2>&1 을 제거하면 쉘스크립트에서 표준 출력 내용만 나옵니다. 2>&1은 이곳에서 확인합시다.

그런데, 이게 너무 자주 실행 되고 또한 지속적으로 로깅이 되야 해서 로그를 계속 남겨둬야 한다면 다음처럼 입력합니다.
* * * * * /home/script/test.sh >> /home/script/test.sh.log 2>&1


그러면 계속 로그가 누적이 되는 것을 확인 할 수 있을겁니다. 대신 로그가 과도하게 쌓이면 리눅스 퍼포먼스에 영향을 주므로 가끔씩 비워주거나 파일을 새로 만들어주는 센스가 필요합니다.

반대로 로그는 필요 없는 크론을 위해선 다음처럼 입력합니다.
* * * * * /home/script/test.sh > /dev/null 2>&1


6. 크론탭 백업 (crontab backup)

자, 혹시라도 crontab -r 를 쓰거나 실수로 crontab 디렉토리를 날려버려서 기존 크론 내역들이 날아갔을때, 정말 황망할거 같은데 말이죠. 그러니 주기적으로 크론탭을 백업해 둡시다. 백업은 다음처럼 하는 방법이 있습니다.
crontab -l > /home/bak/crontab_bak.txt


크론탭 내용을 txt 파일로 만들어 저장해두는겁니다. 자, 이것도 자동화가 될 수 있을까요?
50 23 * * * crontab -l > /home/bak/crontab_bak.txt

 

출처 : https://jdm.kr/blog/2

Posted by 꼬장e
,

콘솔에서 호출

1. lynx명령어를 이용하는방법

/usr/bin/lynx --source http://aaa.com/test.php

 

2. wget을 이용하는방법

/usr/bin/wget http://aaa.com/test.php

 

crontab 등록시
방법1)

* * * * * root /usr/bin/lynx --source /usr/bin/wget http://aaa.com/test.php

 

방법2)

* * * * * root /usr/bin/wget /usr/bin/wget http://aaa.com/test.php

 

출처 : https://m.blog.naver.com/PostList.nhn?blogId=peter912

 

Posted by 꼬장e
,

crontab -e :
이 명령어를 치고 수정모드로 들어간다.

분 시 일 월 요일 명령어 - 순으로 입력한다.

예)
0시 0분마다 재부팅
00 00 * * * reboot

매월 1일 4시 0분 마다 재부팅
00 04 01 * * reboot

 

0 8 * * * /sbin/shutdown -r now

 

0 8 * * * /usr/bin/reboot

 

 

# Crontab 형식

분 | 시간 | 날짜 | 달 | 요일 | 사용자 | 명령

1. 분: 10(10분)
2. 시간: 14(오후2시)
3. 날짜: 15(15일)
4. 달: *(매달)
5. 요일: 0~6 (일요일~금요일)
6. 명령: shell

 

# 최종적으로 service crond restart 를 하여 Cron 데몬을 반드시 재시작해야 하며

crontab -e 로 입력한 명령이 정상적으로 예약작업으로 등록되어 있는지 확인하고자 할경우에는,

crontab -l 를 입력하면 예약된 작업들이 Display된다.

 

 

 

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

 

 

cron파일을 실행시킬려면 디렉토리에 cron파일을 넣는것이 아니라(cp나 mv...)

crontab명령으로 디렉토리에 파일을 등록을 시켜줘야해요~

 

먼저 cron파일(파일이름 : test.cron)

* * * * * echo HI, one minute > /dev/tty1

여기서 > /dev/tty1이라는 건 메시지를 출력할 제어터미널입니다.

제어터미널확인은 터미널창에 tty라고 명령하면 출력됩니다.

그거적어주시면됩니다.

즉, 위 문장은 매 분마다 HI, one minute라는 메시지가 지정한 터미널창에 출력되는 명령이에요.

 

이제 작성한 cron파일을 cron디렉토리에 등록시켜줘야합니다.

crontab test.cron

이렇게 명령하면 이제 1분마다 메시지가 출력될겁니다.

 

crontab옵션에는 -l, -e, -r이 있는데요

-l은 명령스케줄링된 작업목록이 출력되고

-e는 작업을 편집하는거고

-r은 작업을 삭제하는거에요

 

sh는 BoruneShell의 스크립트파일인데

sh파일을 만드시려면 BoruneShell에서 사용되는 기본 명령어, 제어문, 지역변수, 환경변수 사용법등을 알아야해요.

예를 들어 1부터 9까지 구구단을 출력하는 스크립트를 만든다고 친다면

"vi gugu.sh"라고 명령하면 vi에디터가 열릴겁니다. 거기에 아래처럼 입력하세요.

 

---------------------스크립트 코드------------------------------

#!/bin/sh #이 스크립트가 실행될 환경을 BoruneShell이라고 명령

num1=1 #지역변수 num1을 1로 초기화

while ( $num1 <= 9 ) #num1변수가 9보다 작거나 같으면 반복

do

num2=1 #num2변수를 1로 초기화

while ( $num2 <= 9 ) #num2변수가 9보다 작거나 같으면 반복

do

mul=`expr $num1 \* $num2` //mul변수에 num1값과 num2값을 곱한 결과를 대입

#토큰설명 : 산술연산을 위한 명령어 expr

# 변수의 값을 의미하는 $

# 그리고 *는 대표문자로 인식되므로 대표문자 의미제거를 위한 \(역슬러쉬)

# 대입연산자 = 사이에는 공백이 있어서는 안됩니다.

# 연산식은 ~키를 Shift없이 그냥 누르시면 ` 가 입력되는데 이 기호로 싸주셔야되요.

 

echo "$num1 * $num2 = $mul" #터미널에 문자열 출력

num2=`expr $num2 + 1` #num2값 1증가

done

num1=`expr $num1 + 1` #num1값 1증가

done

----------------------------코드 끝---------------------------------------

 

이렇게 입력하신 후에 이 파일의 실행 허가권을 변경해주셔야되거든요.

"chmod +x gugu.sh"라고 입력해주신후에

./gugu.sh 명령으로 실행시켜주시면됩니다.( ./ : 현재디렉토리를 의미)

 

 

* cron에 등록된 작업 목록 확인

crontab -l

 

* cron 다시 시작

/etc/rc.d/init.d/crond restart

또는

service crond restart

 

* cron이 해당 시간에 정상적으로 작업이 수행되었는지 확인

tail -f /var/log/cron

또는

tail -n 100 /var/log/cron

(-n 뒤는 밑에서부터 읽어들이는 라인 숫자)

 

 

 

분 / 시간 / 날짜 / 월 / 요일 / 명령어

 

30 08 * * 7 /usr/bin/rm /usr/local/apache/logs/access_log

 

위와 같습니다.

 

만약 약간 수정한다면 이런 조건을 들어 보이겠습니다.

매월 1일날 08시 30분에 위에 명령을 실행하라.

 

30 08 1 * * /usr/bin/rm /usr/local/apache/logs/access_log

 

 

 

p.s

 

요일은 : 1 일요일 2 월요일 3 화요일 ~중간 생략~ 7 토요일

 

참고로 rm이 삭제 명령인데 리룩스에서 정확한 위치는 찾아 보세요.

 

null 카피 시키는 방법 또한 추가로 보내드립니다.

 

30 08 * * 7 cp /dev/null /usr/local/apache/logs/access_log

 

null 카피라는건 파일은 삭제 하지 않으면서 파일 안에 내용만 지워버리는거

 

출처 : 잊음..;;

Posted by 꼬장e
,

중지

bcdedit /set hypervisorlaunchtype off

 

시작

bcdedit /set hypervisorlaunchtype auto

Posted by 꼬장e
,

윈도우를 쓰다보면 용량이 계속해서 늘어나게 됩니다. SSD를 쓰시는 분들의 경우에는 민감해질 수 밖에 없는데요. 윈도우 용량 줄이기 방법을 찾다보면 어김없이 나오는 것이 WinSxS 폴더 지우는법 입니다. 윈도우폴더 용량중 상당한 지분(?)을 가지고있는 이 폴더..

 

WinSxS 삭제를 한꺼번에 하려니.. 이거 뭔가 위험한 일이 일어날거 같고.... 안전하게 삭제하는 법은 없을까? 하는 생각도 들게 되는데요.

 

뭐하는 폴더인지..

그리고 어떻게 하면 안정적으로 윈도우 용량을 줄일 수 있는지 찾아봅니다.

 

 

 

WinSxS란?

 

뭔가 쓰잘데기 없는 파일들로 가득한거 같은 이곳…

‘WinSxS 폴더’가 무엇인지 간단하게 설명드리면 windows 폴더에 존재하고 있는 파일들은 WinSxS 폴더에 있는 파일의 하드링크를 생성해서 사용하고 있는거라고 합니다.

그리고 윈도우 업데이트를 하게되었을때, A란 파일을 업데이트 했다면 업데이트 전의 해당 파일도 가지고 있게 되기 때문에 용량이 늘게 된다고 하는군요.

 

<윈도우 폴더 용량 줄이기! 쓸데없는 것들을 날려보자>

보면 어도비 플래쉬 for windows 해서 업데이트때마다 생긴건가봐요 맨 뒷자리 숫자들이 다르죠.

이걸 무작정 삭제해버리면 불안정한 상태가 될 수 있으므로 안전하게 삭제해줘야 합니다.

 

<버전별 윈도우 용량 줄이기>

1. 윈도우7도 아마 있을텐데, 저는 윈도우8.1 입니다. ‘콤포넌트 클린업’이라는게 있어요. 이걸 테스크스케쥴에 넣어두라고 권장합니다.

윈도우키+R –> CMD(관리자 권한으로)

schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"

치려면 오래 걸리니까 복사한뒤에 저 까만 창에서 마우스 우클릭 후 붙여넣기 하시면 됩니다.

 

 

WinSxS 이외에 윈도우 용량 줄이는법 둘!

 

2. Dism.exe

DISM은 Deployment Image Servicing and Management(배포 이미지 서비스 및 관리 도구)의 약자 입니다.

 

커맨드창에..

Dism.exe /online /Cleanup-Image /StartComponentCleanup

- 이전버전의 업데이트된 컴포넌트가 바로 삭제되는거를 제외하면 1번과 비슷한 효과라고 합니다.

이건 다른 유저의 결과인데 2기가 정도 줄었다고 하네요. 어떤 사람은 5기가 이상씩도 줄어들고 하더라는..

 

Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase

- 대체된 모든 컴포넌트들이 모두 삭제된다고 합니다.

쪼금 더 확보되긴 합니다.

 

Dism.exe /online /Cleanup-Image /SPSuperseded

- 서비스팩 공간 용량을 줄이기. 업데이트 된 것을 삭제했을때 이전버전의 상태로 되돌리기 위해서 백업해놓은 서비스팩 파일들을 삭제합니다.

 

윈도우 용량 줄이기 방법 중 내가 이걸 해도 좋을까....? 하는 분은


Dism.exe /online /Cleanup-Image /AnalyzeComponentStore

를 쳐보시면 구체적인 용량과 정리가 필요한지 Yes. No. 정보가 나옵니다.


테크넷에 올라와있던 자료니 큰 문제는 없을듯 하지만, 일단 후달리는 분은 복구시점이나, 백업을 한번 해주신 뒤에 시도해보시길 바랍니다.

 

 

그리고 디스크정리 프로그램(윈도우 내장) 한번씩 실행시켜주세요.. 저는 2.56기가 지울게 있네요..

이거 어디있는지 못찾으시겠다구요?

윈도우 버튼 클릭 –> 저기 디스크 입력 –> 젤위에 나옴

WinSxS랑 dism 이정도만해도 몇기가는 확보가 가능하지 않을까요?^^

 

윈도우 용량 줄이기 다른것 아래글 다 보세요!

지금 여기 ▶ WinSxS 폴더 dism.exe

윈도우 installer 폴더 안전하게 삭제

- hiberfil.sys 파일

pagefile.sys 가상메모리

컴퓨터 큰 용량 파일 폴더 한눈에! spacesniffer

탐색기로 큰 파일 검색하는법



출처: https://startdownload.tistory.com/42 [Download Box]

Posted by 꼬장e
,

작업 관리자에서 Microsoft Compatibility Telemetry  점유율 높을때

 

설정 -> 피드백 및 진단

- Windows에서 내 피드백 요청 -> 안함으로 설정

 

regedit 실행

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection

DWORD(32비트)타입 AllowTelemetry 생성 값은 0

 

재부팅

Posted by 꼬장e
,

- 업데이트 임시 저장소 제거


1.Windows 로고 키 + R 키를 누른 후 실행 창이 열리면 services.msc를 입력하고 확인을 누릅니다.
2.서비스 창에서 아래의 서비스 항목들을 각각 더블 클릭하여 중지 버튼을 눌러 서비스 상태를 중지하고, 적용 및 확인을 누릅니다.
    Background Intelligent Transfer Service
     Cryptographic Services
     Windows Updates
3.C:\Windows로 이동하여 SoftwareDistribution폴더를 삭제합니다.
4.C:\Windows\System32로 이동하여Catroot2폴더를 삭제합니다.
5.서비스 창에서 중지한 서비스 세 가지를 더블 클릭 후, 각각 시작 버튼을 눌러 서비스를 시작합니다.

 

출처 : Microsoft Community
 

추가로

1. 윈도우 검색에서 저장 공간 검색

 

2. C드라이브로 들어간후 임시파일 선택후 삭제

Posted by 꼬장e
,

[리눅스]Centos 자바 설치

OS 2018. 10. 20. 18:31

# yum list java*jdk-devel 로 설치가능한 목록 읽기

 

 

# yum install java-1.8.0.-openjdk-devel.x86_64

Posted by 꼬장e
,

regedit 실행후

 

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

 

DWORD(32비트) 추가 ExtendedUIHoverTime

 

10진수 20000 로 변경

Posted by 꼬장e
,

실행 -> gpedit.msc -> 로컬 그룹 정책 편집기 -> 컴퓨터 구성 -> 관리 템플릿 -> Windows 구성 요소 -> 터미널 서비스 -> 원격 데스크톱 세션 호스트 -> 원격 세션 환경 -> RemoteFX 폴더 안의 내용 활성화

 

이후 Windows 기능 켜기/끄기 Hyper-V 활성

 

추가)

꼭 원격 데스크톱 가상화 호스트 역할 서비스 설치
1.
서버 관리자를 엽니다. 서버 관리자를 열려면 시작을 클릭하고 관리 도구를 가리킨 다음 서버 관리자를 클릭합니다.

2.
역할을 확장한 다음 원격 데스크톱 서비스를 클릭합니다.

3.
역할 서비스에서 역할 서비스 추가를 클릭합니다.

4.
원격 데스크톱 가상화 호스트 확인란을 선택한 후 다음을 클릭합니다. Hyper-V가 설치되어 있지 않으면 서버 관리자가 자동으로 Hyper-V를 설치합니다.

5.
설치를 클릭합니다.

6.
설치가 완료되면 닫기를 클릭합니다.

 

더이상 지원하지 않아서 추가 안된다면 ( Windows 10 버전 1809 이상 , 서버는 1803 이상 )

 

Add-VMRemoteFx3dVideoAdapter -VMName Test 명령으로 강제 추가

Posted by 꼬장e
,