300x250
반응형

 

서버를 운영하다 보면 특정 시간에 어떤 행동을 고정적으로 하고싶을 때가 있습니다.

 

예를 들면

  - 매일 새벽1시 백업

  - 매일 아침 문자 발송

  - 새벽 시간 바이러스 검사

  - 등등

 

이를 도와주는 프로그램이 crontab 이라는 프로그램 입니다. 아래와 같이 설치 하시면 됩니다.

우분투 설치 방법
sudo apt update -y
sudo apt install -y cron
CentOS 설치 방법
sudo yum update -y
sudo yum install -y cronie

설치가 끝나셨다면 이제 사용법을 알아볼게요.

 

 

먼저 작업 예정인 목록을 확인하는 방법
crontab -l

만약 스케쥴을 넣었다면 위와 같이 먼가 뜰껍니다.

 

 

스케쥴러 추가 및 수정 방법
위치를 옮깁니다.
cd /var/spool/cron/crontabs 

vi 편집기로 엽니다.
vi root 

위에 화면과 똑같은 내용이 뜰껍니다.

 

추가하고 싶으면 마지막 라인에 추가하면 되고, 수정은 vi 편집기 명령어를 사용하여 수정하면 됩니다.

0 1 * * * /root/backup.sh 이라인을 설명하면

 

숫자가 포함하는건 분 시간 일 월 년 순서 입니다.

시간 쉘커맨드
0 1 * * * /root/backup.sh

해석해 보면 매년, 매월, 매일 1시 마다 /root/backup.sh 을 해라

즉 매일 1시마다 backup을 해라라는 명령입니다.

 

backup.sh 파일에는

db를 백업 mysqldump 하고, 파일들을 tar 압축하는 명령어를 넣었습니다.

 

만약 특정 웹페이지를 호출하고 싶으면

sh 파일 안에다가

wget http://www.naver.com/today.php -O /dev/null

이런식으로 넣어두면 today.php 라는 페이지를 매일 1시에 호출하게 됩니다.

 

 

참 쉽죠 ㅋ

300x250
반응형
300x250
반응형

 

현재시간 기준으로 이전 날짜를 구해봅시다.

 

 

현재시간 구하기

$dt = date("Y-m-d H:i:s", time());
echo $dt;

 

1주일 전 구하기

 $dt = date("Y-m-d H:i:s", strtotime("-1 week", time()));
 echo $dt;

 

1달 전 구하기

$dt = date("Y-m-d H:i:s", strtotime("-1 month", time()));
echo $dt;

 

1년 전 구하기

$dt = date("Y-m-d H:i:s", strtotime("-1 year", time()));
echo $dt;

 

나머지 시, 분, 초를 더하거나 빼고싶으시면

strotime 함수 안에

+1 hours

-1 hours

 

+10 minitues

+1 seconds

 

이런식으로 넣으시면 됩니다.

 

 

! 만약  현재시간에 -3개월 한후 +30분을 더하고 싶다면?

(아래 두개는 결과가 같습니다.)  time() 에 해당하는 부분을 strtotime으로 한번더 대체하면 됩니다.

당연히 가독성은 (2) 번이 좋겠죠

 

(1)

$dt = date("Y-m-d H:i:s", strtotime("+30 minutes", strtotime("-3 month", time())));
echo $dt;

(2)

$time_pre_3month = strtotime("-3 month", time());
$dt = date("Y-m-d H:i:s", strtotime("+30 minutes", $time_pre_3month));
echo $dt.'<br>';

 

참 쉽죠 ㅋ

300x250
반응형
300x250
반응형

 

이번 예제는 현재 위치에 파일이 있는지 확인하는 코드 입니다.

CString full_path = GetExecutedPath() + _T("test/file.tmp");

if (INVALID_FILE_ATTRIBUTES == GetFileAttributes(full_path) && GetLastError() == ERROR_FILE_NOT_FOUND)
{
	AfxMessageBox(_T("파일 X"));
}
else
{
	AfxMessageBox(_T("파일 O"));        
}

GetExcutedPath() 함수는 실행파일이 있는 위치를 리턴해 줍니다.

저걸 사용안하면 프로젝트 소스가 있는 위치에서 파일을 확인하기 때문에 ㅋ

아래 함수를 그대로 복사해서 붙여넣기 하시면 됩니다.

CString GetExecutedPath()
{
    //실행파일 경로 구하는 함수
    CString strResult;
    CString strPath;

    if (GetModuleFileName(nullptr, strPath.GetBuffer(_MAX_PATH + 1), MAX_PATH) != FALSE)
    {
        strPath.ReleaseBuffer();

        strResult = strPath.Left(strPath.ReverseFind('\\') + 1);
    }

    return strResult;
}

 

 

간단하쥬 ㅋ

300x250
반응형
300x250
반응형

 


아래 코드는 파일이름 변경 예제 입니다. 아래 2가지 방법중 하나를 사용하시면 됩니다.

아래 예제는 file.tmp 라는 파일을 file.xtf 로 확장자 / 이름 변경 하는 코드 입니다.

 

1. C 코드를 사용한 변환

CString full_path_tmp = GetExecutedPath() + _T("test/file.tmp");
CString full_path_xtf = full_path_tmp;        
full_path_xtf.Replace(_T(".tmp"), _T(".xtf"));


CStringA a_full_path_tmp = (CStringA)full_path_tmp;
CStringA a_full_path_xtf = (CStringA)full_path_xtf;

const char* char_path = a_full_path_tmp.GetBuffer();
const char* char_path_changed = a_full_path_xtf.GetBuffer();

rename(char_path, char_path_changed);

C 코드인 rename을 사용합니다.

해당 파라미터는 const char*를 인자로 사용하기 때문에 변환해서 넣어야 합니다.

장점은 오류 예외창이 안뜹니다.

 

 

2. MFC 코드는 사용한 변환

CString full_path_tmp = GetExecutedPath() + _T("test/file.tmp");
CString full_path_xtf = full_path_tmp;        
full_path_xtf.Replace(_T(".tmp"), _T(".xtf"));

CFile::Rename(full_path_tmp, full_path_xtf);

MFC 함수인 CFile::Rename 함수를 사용합니다.

해당 파라미터는 CString을 그대로 사용하시면 됩니다.

단점은 파일이 없을경우 오류 메시지창이 뜹니다.

 

 

간단하쥬 ㅋ

300x250
반응형
300x250
반응형

 

 

문자집합은 유니코드 기반 코드 입니다.

 

아래 코드는 CStringA로 형변환 후 GetBuffer()를 사용하여 변환하는 예제입니다.

CString file_name = _T("filename.dat");
CStringA a_file_name = (CStringA)file_name;

const char* ptr_name = a_file_name.GetBuffer();

 

아주 간단 하쥬 ㅋ

 

 

300x250
반응형
300x250
반응형

오늘은 삼성에서만든 모니모 라는 앱을 추천 드립니다.

현재 시간으로 34,385원을 공짜로 받았습니다.

 

계좌는 없지만 토스와 유사한 앱입니다.

모든 포인트는 토스와 같이 현금으로 100% 출금 가능 합니다.

- 걷기시 포인트 지급

- 출첵시 포인트 지급

- 각종 이벤트 등

아래 이벤트 참여하시고 최대 30만원 득템하시길 바랍니다. (가입 후 버튼 클릭만 하면 됨)

하단 이벤트 클릭 -> 내용 내리시면 최대 30만원 럭키 젤리 이벤트가 있습니다.

가입시 초대코드 입력하면 최대 3천원 뽑기를 받을수 있습니다.

(미 입력 시 지급 X)

 

초대코드 : 0J4QIOL

초대초드로 가입하기( 아래 링크 클릭 )

https://www.monimo.com/w/applink/WPFMAL0104M0?cmpId=M221085630&frndInvtCd=0J4QIOL&invateDate=20220913

 

300x250
반응형
300x250
반응형

오늘은 부산에있는 이자까야 소수인 리뷰 입니다.

소수인
부산광역시 부산진구 가야대로750번길 17 1층
 

네이버 평점은 4.5로 매우 좋네요

주차장은 작은 가게라 따로 없습니다. 골목 빌라촌에 있었습니다.

가게는 작으나 손님이 많고, 음식 퀄리티가 좋습니다. ㅎ

커플끼리 오시는 분들도 많네요

손님이 많으면 메뉴 나오는데 시간이 조금 걸리나 맛에 비하면 문제는 없을것 같습니다.

일식 좋아하시면 꼭한번 가보세요~

300x250
반응형

'후기 > 맛집후기' 카테고리의 다른 글

부산 - 이정태 본참치  (0) 2022.10.07
부산 - 수영산8193  (0) 2022.09.29
김해 장유 모산 [ 오마카세 ]  (0) 2022.08.25
부산 파라다이스호텔 사까에  (0) 2022.08.25
동일참치 (부산 대연점)  (0) 2022.08.25
300x250
반응형

 

위와 같이 개인 블로그에 예제를 넣을 수 있습니다.

https://codepen.io/muzimuzi/pen/poyQRvX?editors=1111 

 

flex modal

...

codepen.io

 

300x250
반응형

+ Recent posts