운영 및 유지보수 리눅스 운영 및 유지 관리 쉘 프로그래밍 실습: 웹사이트 파일 및 데이터베이스 파일 백업

쉘 프로그래밍 실습: 웹사이트 파일 및 데이터베이스 파일 백업

Sep 20, 2020 am 09:36 AM
shell

파일 백업의 중요성은 자명합니다. 웹사이트 파일이든 일상 사진, 동영상이든 정기적인 백업은 좋은 습관입니다. 그렇지 않으면 데이터가 손실되면 데이터를 복구할 수 없다는 절망감을 경험하게 됩니다. 글쓴이도 직접 겪은 일인데, 가장 심각했던 건 7개월 넘게 개인 블로그에 있던 자료가 다 없어졌을 때인데, 정말 눈물 없이 울고 싶은 심정이었다.

오늘은 서버측에서 웹사이트 디렉토리와 데이터베이스 파일을 백업하는 스크립트를 작성하는 방법을 알려드리겠습니다. 우선 몇 가지 지식을 추가해야 합니다.

  • tar 명령, 파일 압축 및 패키징

  • find 명령, 파일 찾기

  • bzip2, 파일 압축

공간을 절약하기 위해 우리는 종종 디렉토리 파일을 압축합니다. 압축 및 패키징 작업을 수행합니다. bzip2 명령은 파일을 압축할 수 있지만 디렉터리는 압축할 수 없습니다. tar 명령을 사용하여 디렉터리를 압축하고 패키지할 수 있습니다.

데이터베이스 파일은 별도의 sql 파일이므로 bzip2 명령어를 이용하여 압축하시면 됩니다.

mysqldump -u用户名 -p密码 --all-databases | bzip2 > 备份目录/文件名
로그인 후 복사

웹사이트 파일은 tar 명령을 사용하여 압축해야 합니다.

tar -jcpf 备份目录/文件名  需备份的目录
로그인 후 복사

매일 백업을 진행하지만 최근 7일간의 백업 기록만 저장하고 싶고, 7일 전 백업 데이터는 자동으로 삭제됩니다. 여기에서는 find 명령을 사용하여 7일 전의 백업 파일을 찾은 다음 삭제해야 합니다.

find 备份目录 -mtime +7 -type f -exec rm -f {} \;
로그인 후 복사

정식으로 쉘 스크립트 작성을 시작해 보겠습니다. 먼저 백업 디렉터리를 정의해야 합니다. 백업 디렉터리가 없으면 먼저 디렉터리를 생성해야 합니다.

WWW_DIR=/home/wwwroot
BAK_DIR=/root/bak

if [ ! -d $BAK_DIR ];then
    mkdir $BAK_DIR
fi
로그인 후 복사

다음 단계는 웹 사이트 디렉토리와 데이터베이스 파일을 백업하는 것입니다

tar -jcpf $BAK_DIR/www_$(date +%Y%m%d).tar.bz2 $WWW_DIR 2>/dev/null
mysqldump -uroot -p123456 --all-databases | bzip2 > $BAK_DIR/all_database_$(date +%Y%m%d).sql
로그인 후 복사

마지막으로 7일 전 백업 데이터를 삭제하세요

find $BAK_DIR -type f -mtime +7 -exec rm -f {} \;
로그인 후 복사

전체 코드는 아래에 게시되어 있습니다.

#!/bin/bash
# 备份数据库文件及网站文件

WWW_DIR=/home/wwwroot
BAK_DIR=/root/bak

if [ ! -d $BAK_DIR ];then
    mkdir $BAK_DIR
fi

# 备份网站文件及数据库文件
tar -jcpf $BAK_DIR/www_$(date +%Y%m%d).tar.bz2 $WWW_DIR 2>/dev/null
mysqldump -uroot -pGuiyuan#520@1314 --all-databases | bzip2 > $BAK_DIR/all_database_$(date +%Y%m%d).sql 

# 删除7天前的备份数据
find $BAK_DIR -type f -mtime +7 -exec rm -f {} \;
로그인 후 복사

마지막으로 모두가 Backup을 개발할 수 있기를 바랍니다. 버릇. 서버에 매일 백업하는 것 외에도 매주 서버에서 로컬 디스크로 데이터 복사본을 복사하여 데이터가 완벽한지 확인하는 것이 좋습니다.

위 내용은 쉘 프로그래밍 실습: 웹사이트 파일 및 데이터베이스 파일 백업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows 11에 클래식 쉘을 설치하는 방법은 무엇입니까? Windows 11에 클래식 쉘을 설치하는 방법은 무엇입니까? Apr 21, 2023 pm 09:13 PM

&lt;p&gt;운영 체제를 사용자 정의하는 것은 일상 생활을 더욱 즐겁게 만드는 좋은 방법입니다. 사용자 인터페이스 변경, 사용자 정의 테마 적용, 위젯 추가 등을 수행할 수 있습니다. 오늘은 Windows 11에 ClassicShell을 설치하는 방법을 알려드리겠습니다. </p><p>이 프로그램은 오랫동안 사용되어 왔으며 운영 체제를 수정할 수 있습니다. 2017년에 해체된 조직은 이제 자원봉사자들이 운영하기 시작했습니다. 새 프로젝트는 OpenShell이라고 하며 현재 관심 있는 사람들을 위해 Github에서 사용할 수 있습니다. &lt;/p&gt;&a

Explorer.exe가 시스템 시작 시 시작되지 않음 [수정] Explorer.exe가 시스템 시작 시 시작되지 않음 [수정] Jun 03, 2023 am 08:31 AM

요즘 많은 Windows 사용자는 심각한 Windows 시스템 문제에 직면하기 시작합니다. 문제는 시스템이 로드된 후 Explorer.exe를 시작할 수 없고 사용자가 파일이나 폴더를 열 수 없다는 것입니다. 그러나 Windows 사용자는 경우에 따라 명령 프롬프트를 사용하여 Windows 탐색기를 수동으로 열 수 있으며 시스템을 다시 시작할 때마다 또는 시스템 시작 후에 그렇게 해야 합니다. 이는 문제가 될 수 있으며 아래에 언급된 다음 요인으로 인해 발생합니다. 시스템 파일이 손상되었습니다. 빠른 시작 설정을 활성화합니다. 오래되었거나 문제가 있는 디스플레이 드라이버. 시스템의 일부 서비스가 변경되었습니다. 수정된 레지스트리 파일. 위의 모든 요소를 ​​염두에 두고 사용자에게 확실히 도움이 될 몇 가지 요소를 생각해냈습니다.

HRESULT 0x80073D02 문제가 해결되면서 PowerShell 배포가 실패함 HRESULT 0x80073D02 문제가 해결되면서 PowerShell 배포가 실패함 May 10, 2023 am 11:02 AM

스크립트를 실행할 때 PowerShell에서 "Add-AppxPackage: 배포에 실패했습니다. HRESULT: 0x80073D02, 패키지가 수정하는 리소스가 현재 사용 중이므로 패키지를 설치할 수 없습니다. 오류 0x80073D02..."라는 오류 메시지가 표시됩니까? 오류 메시지에 나와 있듯이 이는 이전 프로세스가 실행되는 동안 사용자가 하나 또는 모든 WindowsShellExperienceHost 응용 프로그램을 다시 등록하려고 할 때 발생합니다. 이 문제를 신속하게 해결할 수 있는 몇 가지 간단한 솔루션이 있습니다. 수정 1 – 경험 호스트 프로세스 종료 powershell 명령을 실행하기 전에 종료해야 합니다

Linux에서 파일 끝의 줄을 빠르게 삭제하는 방법 Linux에서 파일 끝의 줄을 빠르게 삭제하는 방법 Mar 01, 2024 pm 09:36 PM

Linux 시스템에서 파일을 처리할 때 파일 끝 부분의 줄을 삭제해야 하는 경우가 있습니다. 이 작업은 실제 응용 프로그램에서 매우 일반적이며 몇 가지 간단한 명령을 통해 수행할 수 있습니다. 이 기사에서는 Linux 시스템에서 파일 끝의 줄을 빠르게 삭제하는 단계를 소개하고 구체적인 코드 예제를 제공합니다. 1단계: 파일의 마지막 줄을 확인하세요. 삭제 작업을 수행하기 전에 먼저 파일의 마지막 줄이 무엇인지 확인해야 합니다. tail 명령을 사용하여 파일의 마지막 줄을 볼 수 있습니다. 특정 명령은 다음과 같습니다. tail-n1filena

Windows에서 쉘 스크립트 파일을 실행하는 다양한 방법 Windows에서 쉘 스크립트 파일을 실행하는 다양한 방법 Apr 13, 2023 am 11:58 AM

Linux용 Windows 하위 시스템 첫 번째 옵션은 Windows 시스템에서 기본적으로 Linux 바이너리 실행 파일을 실행하기 위한 호환성 계층인 Linux용 Windows 하위 시스템 또는 WSL을 사용하는 것입니다. 대부분의 시나리오에서 작동하며 Windows 11/10에서 셸 스크립트를 실행할 수 있습니다. WSL은 자동으로 사용할 수 없으므로 Windows 장치의 개발자 설정을 통해 활성화해야 합니다. 설정 > 업데이트 및 보안 > 개발자용으로 이동하여 이 작업을 수행할 수 있습니다. 개발자 모드로 전환하고 예를 선택하여 메시지를 확인합니다. 다음으로 W를 찾아보세요

Open Shell Windows 11이 작동하지 않는 문제에 대한 수정 사항은 다음과 같습니다. Open Shell Windows 11이 작동하지 않는 문제에 대한 수정 사항은 다음과 같습니다. Apr 14, 2023 pm 02:07 PM

Windows 11에서 실행되지 않는 오픈 셸은 새로운 문제가 아니며 이 새로운 운영 체제가 등장한 이후로 사용자를 괴롭혀 왔습니다. Open-Shell Windows 11이 작동하지 않는 문제의 원인은 구체적이지 않습니다. 이는 프로그램의 예상치 못한 오류, 바이러스나 맬웨어의 존재 또는 손상된 시스템 파일로 인해 발생할 수 있습니다. 모르시는 분들을 위해 말씀드리자면 Open-Shell은 2017년에 단종된 Classic Shell을 대체하는 것입니다. Windows 11에 Classic Shell을 설치하는 방법에 대한 튜토리얼을 확인하실 수 있습니다. Windows 11 시작 메뉴를 교체하는 방법

슈퍼 하드코어! 11가지 매우 실용적인 Python 및 Shell 스크립트 예제! 슈퍼 하드코어! 11가지 매우 실용적인 Python 및 Shell 스크립트 예제! Apr 12, 2023 pm 01:52 PM

Python 스크립트의 몇 가지 예: 기업 WeChat 경보, FTP 클라이언트, SSH 클라이언트, Saltstack 클라이언트, vCenter 클라이언트, 도메인 이름 SSL 인증서 만료 시간 획득, 오늘의 일기 예보 및 미래의 날씨 추세 차트 보내기: SVN 전체 백업, Zabbix는 이전 기사에서 사용자 비밀번호 만료 모니터링, 로컬 YUM 구축 및 독자의 요구 사항(부하가 높을 때 상대적으로 높은 점유율을 차지하는 프로세스 스크립트를 찾아 알림을 저장하거나 푸시함)이 약간 길기 때문에 잠시만 기다려주세요. 기사 마지막에는 결국 부활절 달걀이 있습니다. 기업용 WeChat 알람의 Python 스크립트 부분 이 스크립트는 기업용 WeChat 애플리케이션을 사용하여 WeChat 알람을 수행하고 사용할 수 있습니다.

Windows 11에서 클래식 시작 메뉴를 복원하기 위해 Open Shell을 설치하는 방법 Windows 11에서 클래식 시작 메뉴를 복원하기 위해 Open Shell을 설치하는 방법 Apr 18, 2023 pm 10:10 PM

OpenShell은 Windows 11 시작 메뉴를 클래식 스타일 메뉴 또는 Windows 7 스타일 메뉴와 유사하게 사용자 정의하는 데 사용할 수 있는 무료 소프트웨어 유틸리티입니다. 이전 버전 Windows의 시작 메뉴는 사용자에게 시스템 내용을 쉽게 찾아볼 수 있는 방법을 제공했습니다. 기본적으로 OpenShell은 이전 Windows 버전에서 후자 버전의 기능을 얻는 데 도움이 되는 다양한 사용자 인터페이스 요소를 제공하는 ClassicShell을 대체합니다. ClassicShell의 개발이 2017년에 중단된 후 GitHub 자원 봉사자들에 의해 OpenShell이라는 이름으로 유지 관리 및 개발되었습니다. 윈과 관련이 있습니다

See all articles