CMS 시스템의 데이터 백업이 중요합니다. 시스템이 실패하거나 데이터가 손실되면 백업은 빠르게 복구하고 상당한 손실을 피할 수 있습니다. 강력하고 사용하기 쉬운 프로그래밍 언어로서 Python은 CMS 시스템의 데이터 백업 기능을 효과적으로 구현할 수 있으며 자동 시간이 지정된 백업 작업을 지원합니다. 이 기사에서는 Python을 사용하여 CMS 시스템에 대한 데이터 백업 기능을 작성하고 코드 예제를 첨부하는 방법을 보여줍니다.
백업 기능을 작성하기 전에 관련 Python 라이브러리를 설치해야합니다. 명령 줄을 통해 다음 명령을 실행하여 설치를 완료하십시오.
PIP 설치 PymySQL PIP 설치 일정
그 중에서 PymySQL은 MySQL 데이터베이스를 작동하는 데 사용되며 일정은 타이밍 작업을 만드는 데 사용됩니다.
백업 기능은 주로 데이터베이스에 연결하고, 백업 작업을 수행하고, 생성 된 백업 파일을 지정된 디렉토리에 저장하는 데 도움이됩니다. 간단한 백업 기능 예는 다음과 같습니다.
pymysql을 가져옵니다
DateTime 가져 오기
OS 가져 오기
<p>def backup_database (호스트, 포트, 사용자, 비밀번호, 데이터베이스, save_path) :<br>
노력하다:<br>
# 데이터베이스에 연결합니다<br>
conn = pymysql.connect (host = host, port = port, user = user, password = password, database = database)<br>
커서 = conn.cursor ()</p>
<pre class="overflow-visible!"><div class="contain-inline-size rounded-2xl border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"><div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-2xl"> 루아 </div><div class="sticky top-9"><div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><div class="bg-token-sidebar-surface-primary text-token-text-secondary dark:bg-token-main-surface-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"><button class="flex gap-1 items-center select-none py-1" aria-label="복사"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-xs"><path fill-rule="evenodd" clip-rule="evenodd" d="M7 5C7 3.34315 8.34315 2 10 2H19C20.6569 2 22 3.34315 22 5V14C22 15.6569 20.6569 17 19 17H17V19C17 20.6569 15.6569 22 14 22H5C3.34315 22 2 20.6569 2 19V10C2 8.34315 3.34315 7 5 7H7V5ZM9 7H14C15.6569 7 17 8.34315 17 10V15H19C19.5523 15 20 14.5523 20 14V5C20 4.44772 19.5523 4 19 4H10C9.44772 4 9 4.44772 9 5V7ZM5 9C4.44772 9 4 9.44772 4 10V19C4 19.5523 4.44772 20 5 20H14C14.5523 20 15 19.5523 15 19V10C15 9.44772 14.5523 9 14 9H5Z" fill="currentColor"></path></svg> 복사<span class="" data-state="closed"><button class="flex items-center gap-1 py-1 select-none"></span> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-xs"><path d="M2.5 5.5C4.3 5.2 5.2 4 5.5 2.5C5.8 4 6.7 5.2 8.5 5.5C6.7 5.8 5.8 7 5.5 8.5C5.2 7 4.3 5.8 2.5 5.5Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path><path d="M5.66282 16.5231L5.18413 19.3952C5.12203 19.7678 5.09098 19.9541 5.14876 20.0888C5.19933 20.2067 5.29328 20.3007 5.41118 20.3512C5.54589 20.409 5.73218 20.378 6.10476 20.3159L8.97693 19.8372C9.72813 19.712 10.1037 19.6494 10.4542 19.521C10.7652 19.407 11.0608 19.2549 11.3343 19.068C11.6425 18.8575 11.9118 18.5882 12.4503 18.0497L20 10.5C21.3807 9.11929 21.3807 6.88071 20 5.5C18.6193 4.11929 16.3807 4.11929 15 5.5L7.45026 13.0497C6.91175 13.5882 6.6425 13.8575 6.43197 14.1657C6.24513 14.4392 6.09299 14.7348 5.97903 15.0458C5.85062 15.3963 5.78802 15.7719 5.66282 16.5231Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M14.5 7L18.5 11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> 편집하다</div></div></div><div class="overflow-y-auto p-4" dir="ltr"> # 현재 시간을 백업 파일 이름으로 가져옵니다
now = datetime.datetime.now()
backup_file_name = now.strftime("%Y%m%d%H%M%S") + '.sql'
# 백업 작업을 수행하십시오
sql = 'mysqldump --host={0} --port={1} --user={2} --password={3} {4} > {5}/{6}'.format(
host, port, user, password, database, save_path, backup_file_name)
os.system(sql)
print('성공적인 백업:{0}/{1}'.format(save_path, backup_file_name))
cursor.close()
conn.close()
except Exception as e:
print('백업이 실패했습니다:', e)
이 코드는 pymysql을 통해 데이터베이스에 연결하고 MySQLDump 명령을 사용하여 백업을 완료합니다. 백업 파일 이름은 중복 덮어 쓰기를 피하기 위해 현재 시간을 사용하여 생성됩니다.
자동 백업을 달성하려면 스케줄 라이브러리를 사용하여 타이밍 작업을 설정할 수 있습니다. 다음 코드는 매일 오전 1시에 백업 작업을 수행하는 방법을 보여줍니다.
# 백업을 수행하십시오
backup_database(host, port, user, password, database, save_path)
Schedule.every (). day.at ( "01:00"). do (job)
사실이지만 :
schedule.run_pending ()
Time.sleep (1)
이 코드는 백업 작업 함수 작업을 정의하고 스케줄을 사용하여 작업 시간을 설정하며 루프를 사용하여 작업을 지속적으로 실행합니다.
위의 코드를 Backup.py로 저장하고 명령 줄을 통해 실행하십시오.
Python Backup.py
이 프로그램은 하루에 지정된 시간에 데이터베이스 백업을 자동으로 수행하고 백업 파일을 설정 경로에 저장합니다.
이 기사에서는 Python을 사용하여 CMS 시스템의 MySQL 데이터베이스 자동 백업 기능을 구현하는 방법을 소개합니다. PymySQL을 통해 데이터베이스에 연결하고 MySQLDump를 사용하여 데이터를 내보내고 Schedule Library를 사용하여 정기적으로 실행하여 안정적이고 신뢰할 수있는 데이터 백업 솔루션을 쉽게 구축하십시오. 특정 요구에 따라 데이터 보안 및 시스템 안정성을 보장하기 위해 백업 스크립트 및 타이밍 작업 구성을 조정할 수도 있습니다.