>백엔드 개발 >PHP 튜토리얼 >Linux 예약 파일 정리 스크립트 셸

Linux 예약 파일 정리 스크립트 셸

伊谢尔伦
伊谢尔伦원래의
2016-11-29 10:41:181163검색

업무상 자주 사용하는 내용은 인터넷에서 모아두었습니다.

성명서 작성 :

해당 디렉토리 찾기 -mtime + 일수 -이름 "파일명" - exec rm -rf {} ;

예 1:

find /usr/local/backups -mtime +10 -name “*.*” -exec rm -rf {} ;

10일 전 /usr/local/backups 디렉토리에서 "."가 있는 파일 모두 삭제

find: Linux 검색 명령, 사용자가 지정된 조건으로 파일을 검색합니다

/ usr/local/backups: 정리하고 싶은 디렉토리

-mtime: 표준문 작성

+10: 10일 전 파일 찾기 여기에 있는 숫자는 일수를 나타냅니다. 30은 며칠 전의 30개 파일 검색을 의미합니다.

"*.*": 찾으려는 데이터 유형, "*.jpg"는 확장자가 jpg인 모든 파일 검색을 의미하고, "*"는 검색을 의미합니다. 모든 파일에 대해 유연하게 사용할 수 있습니다. 하나의 예에서 추론을 그립니다.

-exec: 고정 쓰기 방법

rm -rf: 디렉터리를 포함한 파일 강제 삭제

{};: 고정된 쓰기 방법, 중괄호 쌍 + 공백++;

예 2:

1.#touch /usr/local/bin/clear

#chmod 777clear

새 실행 파일 만들기clear

2.viclear

클리어 파일을 다음과 같이 편집합니다:

#!/bin/sh

find /usr/local/backups -mtime +10 - 이름 "*.*" -exec rm -rf {} ;

확인, 저장하고 종료합니다
3.#crontab - e

시스템 예약 작업에 클리어 파일을 추가하고 자동 실행

지점까지 입력:

* 2 * * */usr/local/bin/clear

여기 설정은 데이터 정리를 위해 매일 새벽 2시에 클리어 파일을 실행하도록 되어있습니다. cron을 공부하고 필요한 스케줄 작업을 개발할 수 있습니다

예:

#! /bin/sh

/usr/local/jboss-4.2.3.GA /server/default/log -mtime +6 -name "server.log.*" 찾기 -exec rm -rf {} ;

exit

[root@web3 ~]# crontab -l

사용자의 Crontab 파일 편집

crontabl -e

사용자가 생성한 Crontab 파일은 /var/spool/cron에 저장되며 파일명은 사용자명과 일치한다.
형식은 6개 섹션으로 구분됩니다. 처음 5개 섹션은 시간 설정 섹션이고, 6번째 섹션은 실행할 명령 섹션입니다.
형식은 다음과 같습니다. * * * *
시간 섹션의 의미 표 2와 같이:

세그먼트

의미

값 범위

첫 번째 세그먼트

는 분을 나타냅니다.

0—59

두 번째 문단

시를 나타냅니다

0—23

세 번째 문단

날짜를 나타냄

1—31

네 번째 문단

월을 나타냄

1—12

다섯 번째 문단

요일을 나타냄, 0은 일요일을 나타냄

0—6

이름: crontab
사용 권한: 모든 사용자
사용:
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
설명:
crontab은 사용자가 고정된 시간 또는 고정된 간격으로 프로그램을 실행할 수 있도록 하는 데 사용됩니다. 즉, 사용자의 일정과 유사하다. -u user는 지정된 사용자의 일정을 설정하는 것을 의미하며, 다른 사용자의 일정을 지정하려면 해당 권한(예: 루트)이 있어야 한다는 전제가 있습니다. -u user를 사용하지 않는다면, 스스로 스케줄을 설정한다는 뜻이다.
식사 횟수:
-e: 일정을 설정하려면 텍스트 편집기를 실행하세요. 기본 텍스트 편집기는 VI입니다. 다른 텍스트 편집기를 사용하려면 먼저 VISUAL 환경 변수를 지정하세요. 사용(예: setenv VISUAL joe)
-r: 현재 스케줄 삭제
-l: 현재 스케줄 나열
스케줄 형식은 다음과 같습니다.
f1 f2 f3 f4 f5 프로그램

여기서 f1은 분, f2는 시간, f3은 날짜, f4는 월, f5는 요일을 나타냅니다. 프로그램은 실행될 프로그램을 나타냅니다.
f1이 *이면 프로그램이 1분마다 실행된다는 의미이고, f2가 *이면 프로그램이 1시간마다 실행된다는 의미 등입니다.
f1이 a-b이면 기간을 의미합니다. a분에서 b분까지의 시간 내에 실행된다는 것은 f2가 a-b일 때 a번째 시간부터 b번째 시간까지 실행된다는 의미입니다.
f1이 */n인 경우 , 이는 n분마다 실행된다는 의미이고, f2는 */n입니다. n시간마다 한 번씩 실행되는 식입니다.
f1이 a, b, c,...이면 실행된다는 의미입니다. a, b, c,...분에 실행되고, f2가 a, b, c,...이면 a, b, c...시간이 실행된다는 뜻입니다
사용자는 먼저 모든 설정을 파일에 저장하고 crontab 파일을 사용하여 일정을 설정할 수도 있습니다.
예:
매월 매일 0분에 /bin/ls를 실행합니다.
0 7 * * * /bin/ls

12개월 동안 매일 아침 6시부터 12시까지 /usr/bin/backup은 20분마다 실행됩니다.
0 6-12/3 * 12 * /usr/bin/backup

매일 오후부터 월요일~금요일 5:00 alex@domain.name에게 편지 보내기 :
0 17 * * 1-5 mail -s “hi” alex@domain.name /dev/null 2>&1 그냥
예: 사용자의 Crontab 파일 내용이 29 19 * * * 저녁 시간을 반영하면 시스템은 매일 19:29에 '저녁 시간'을 표시합니다.
예(크론을 생성하는 전체 과정이 표시됩니다) test.txt에 매분 현재 시간을 입력하세요.):

1. 일반 사용자로 Linux 시스템에 로그인합니다(저는 CentOS4.1을 사용하고 있습니다)

2. $crontab –e
참고: 시스템의 기본 편집기는 VIM입니다. 그렇지 않으면 다음 셸을 추가하세요:
$EDITOR=vi
$export EDITOR

3. “*/1 * * * * date >> $HOME/test.txt”를 입력합니다. , VIM 저장 및 종료

4. $su root

5. $cd /etc/init.d

6./crond restart

몇 가지 구체적인 예를 살펴보겠습니다.

● 0 */2 * * * /sbin/service httpd restart는 2시간마다 아파치를 다시 시작한다는 의미입니다.

● 50 7 * * * /sbin/service sshd start는 매일 7시 50분에 SSH 서비스를 시작한다는 의미

● 50 22 * ​​​​* * /sbin/service sshd stop은 매일 22시 50분에 SSH 서비스를 종료한다는 의미

● 0 0 1,15 * * fsck /home 매월 1일, 15일 /home 디스크 확인

● 1 * * * * /home/bruce/backup 실행 file /home/bruce/backup 매 시간 1분

● 00 03 * * 1-5 find /home “*.xxx” -mtime +4 -exec rm {} 매주 월요일부터 금요일까지 ; 3시 방향 /home 디렉토리에서 *.xxx 파일명을 검색하여 4일 전 파일을 삭제합니다.
● 30 6 */10 * * ls는 매월 1일, 11일, 21일, 31일 6시 30분에 ls 명령이 실행된다는 의미입니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.