[Linux] find로 특정파일이 특정 날짜 이후에 수정된것만 찾아 복사하기 > 리눅스서버
리눅스서버

[Linux] find로 특정파일이 특정 날짜 이후에 수정된것만 찾아 복사하기

조회 528회 댓글 0건

리눅스에서 find 명령어를 사용하여 특정 날짜 이후에 수정된 .php 파일을 찾는 방법은 이렇다


이 find 명령어는 /path/to/search 디렉토리부터 하위 디렉토리까지 재귀적으로 검색하여,
.php로 끝나는 파일 중에서, '2023-02-01' 이후에 수정된 모든 파일을 찾는다.


  find /path/to/search -name "*.php" -type f -newermt "2023-02-01"
 


-name 옵션은 어떤 확장자를 찾을 건가
-newermt 옵션은 'modification time'보다 더 최근에 변경된 파일을 찾는 옵션

find 명령어로 찾은 파일을 rsync로 다른 디렉토리로 복사하려면 아래와 같이



  # 이렇게 하면 파일만 복사가 된다
  find /path/to/search -name "*.php" -type f -newermt "2023-02-01" -exec rsync -avz {} /destination/path/ \;

  # 디렉토리까지 복사를 하고 싶으면 아래와 같이 해야 함.
  find /path/to/search -name "*.php" -type f -newermt "2023-02-01" > /root/files_to_copy.txt
  rsync -avz --files-from=/root/files_to_copy.txt / /destination/path/
 


-exec 옵션은 find 명령어로 찾은 각 파일에 대해 지정된 명령어를 실행하라는 의미입니다.
이 경우 rsync -avz {} /destination/path/ 명령이 실행되며, 여기서 {}find로 찾은 파일을 의미합니다.

rsync -avz 옵션은 파일을 복사하면서 원본의 수정 시간, 권한 등의 정보를 유지(-a), 상세 정보를 출력(-v), 압축하여 전송(-z)하는 것을 의미합니다.

-z 옵션은 압축이라서 붙이지 않아도 됩니다.
그리고 경우에 따라서 압축하는 시간 때문에 더 느린경우도 있고. 압축파일 압축하면 효율도 얼마 안되고
마지막으로 rsync 사용시에는 마지막에 / 붙여 주는 습관이 좋습니다. 명확하게 "디렉토리 안"이라는 의미

위 find로 찾은것에 대해 갯수가 적은 편이며 서로 다른 서버에 있는 파일의 날짜를 확인 하고 싶다면 아래를 참고 하세요~


  # 단일 파일 여러개 - 아래를 스크립트로 만들어 출력해 보기
  ls -al /root/1.txt | awk '{print $6,$7,$8,$9}'
  ls -al /root/2.txt | awk '{print $6,$7,$8,$9}'
  ls -al /root/3.txt | awk '{print $6,$7,$8,$9}'

  # 파일목록을 가지고 있는 파일이 있을 경우 아래 처럼 한줄로 날짜 확인이 가능
  cat files_to_copy.txt | while read file; do stat -c '%y %n' "$file"; done
 



  • 페이스북으로 공유
  • 트위터로  공유
  • 구글플러스로 공유
전체 172건 1 페이지
  • profile_image 기본으로 보여주는 가상호스트 설정에 대한 것입니다.- IP주소를 입력 했을때- 서버IP 지정은 제대로 되었으나 가상호스트 설정이 안된경우위와 같은 경우 자신이 운영하는 사이트의 가장 기본이 되는 사이트를 보여주는 방법도 있지만 그렇지 않고 저처럼 404 처리해서 인지 할 수 있도록 하는 방법도 있습니다.아파치 웹서버의 디폴트는 가상호스트는 설정 하지 않아도 최상위에 있는것이 적용이 됩니다. 하지만 저처럼 명시적으로 설정 하는 방법도 있습니다.<VirtualHost *:80>    DocumentRoot /wsite/default/public_html    ServerName _default_</Virtu…
  • profile_image VIRTUAL 키 사용 안되는줄 알았는데 테스트 해보니 키저장이 됩니다. 단 값은 저장이 안되네요그리고 자동으로 계산된 결과를 사용하기 때문에 지정된 값은 저장이 되질 않습니다.    CREATE TABLE 파뿌리.판매_기록 (        id INT AUTO_INCREMENT,        상품코드 VARCHAR(7) NOT NULL,        상품명 VARCHAR(32) NOT NULL,        가격 INT NOT NULL comment '할인 되면 할인가격',        수량 INT NOT NULL,        판매금액 INT AS (가격 * 수량) STORED,        비고 TEXT,     …
  • profile_image certbot 무료 인증서 갱신 했는데 웹사이트에 적용이 안되네요!!그동안 내가 웹서버 환경을 같이 수동으로 적용 해서 몰랐던것입니다.그래서 ssl 인증서 갱신 되면 자동으로 아파치 웹서버 적용하는 방법이 없을까 찾아 보았는데 있어서 정리한것입니다. certbot renew --no-self-upgrade 명령어로 SSL 인증서를 갱신한 후 인증서가 실제로 갱신된 경우에만 Apache (httpd)의 환경설정을 재적용하려면 Certbot의 renew hook 기능을 사용할 수 있습니다.1. Certbot 갱신 훅 사용Certbot은 인증서가 성공적으로 갱신되었을 때만 실행되는 명령어를 지정할 수 있는 --deploy-h…
  • profile_image 결론부터 말하면 잘 되고 사용하기 편하면 그냥 쓰면 되는 것이다.다른것과 문제가 생길 수 있기 때문에 생기는지 정확히 알지도 못하면서 생길까봐 안쓰는것은 고지식한것 아닌가 생각해 볼 필요는 있다고 본다. 물론 문제가 생길 수 있는 문제는 아래 PHP 한글변수 사용시의 문제점에 대부분들어갈 것으로 보인다- 프로그램을 한글 변수,함수 사용하는것에 대한 고찰 > PHP 이런 문제가 아니라면 난 사용하는 것이 오히려 좋다라고 본다.mysql> select 종목코드,일자,현재가,수량_사모펀드 from 키움_10059 WHERE (일자 BETWEEN 20230523 AND 202305224) AND 수량_사모펀드>…
  • profile_image 누군가 이 사이트에 불필요한 링크를 걸었습니다.그런데 희안 한것은 작동도 안되는 것을 링크를 걸었다는 것입니다.이 문제로 인해 불필요한 리소스가 들어가는것과 웹봇도 불필요한것을 수집하여 접근 하기 때문에 양쪽에 문제가 있는 것입니다.검색을 통해 원인이 되는 웹사이트를 잡으려 생각 하고 있습니다. 형태는 아래와 같습니다. SQL 인젝션은 아닌데 다른 주소로 넘어가도록 우회 시키려 한것 같은데 이렇게 링크 걸 때 확인도 안하고 링크를 걸었을까?no 파라미터는 프로그램을 보면 숫자가 아니면 작동하지 않도록 되어 있습니다.34.64.82.75 - - [02/Oct/2024:16:35:34 +0900] "GET /content/…
  • profile_image 고객의 서버 시스템을 복구해야 할 때 사용하는 동의서 입니다. 보안 뿐만이 아니라 급작스러운 일이 있을 수 있기 때문에 백업의 중요성과 예상하지 못한 문제로 인하여 고객에게 사전에 충분히 인지 할 수 있도록 하기 위한 동의서 양식 입니다. ● 시스템 복구 동의 사항   1. 작업비용 산출 및 청구복구 의뢰 접수 후 담당자는 시스템 상태를 파악하며, 예상 작업시간과 비용을 산출 하여 담당 고객에게 처리해야 할 부분을 확인 합니다.시스템 복구에 대한 비용은 작업 시작 전에 청구 됩니다.※ 주간 기본비용 : 0만원/시간, 야간 기본비용 : 0만원/시간   2. 작업의뢰 전에 시스템의 파일을 무조건 모두 백업 받아야 …
  • profile_image http 프로토콜은 사실상 사용하지 않기 때문에 들어오는 그대로 https로 301 처리 합니다.그런데!!하지 말아야할 디렉토리가 발견되어 ssl 이동한 다음 404처리를 하기 때문에 처음 부터 404 처리 하는것이 좋은 경우가 있습니다.   <VirtualHost *:80>    ServerName pabburi.co.kr    DocumentRoot "/www_html"    RewriteEngine on    # Return 404 for any requests to the /data/ directory    RewriteRule ^/data/.* - [R=404,L]    # https 301    R…