بکاپ‌گیری از داده‌ها یکی از مهم‌ترین کارها در مدیریت سیستم و حفظ اطلاعات است. در این مقاله، به‌ طور مرحله‌ای یک اسکریپت پایتون برای بکاپ خودکار با کتابخانه OS پایتون ایجاد می‌کنیم. این اسکریپت به شما اجازه می‌دهد تا به‌طور منظم داده‌ها را از یک دایرکتوری خاص به یک دایرکتوری دیگر کپی کنید.

مراحل ساخت اسکریپت

مرحله 1: وارد کردن ماژول‌های لازم

برای شروع، باید ماژول‌های مورد نیاز را وارد کنیم. در اینجا از ماژول‌های os و shutil استفاده می‌کنیم.

import os
import shutil
from datetime import datetime

ماژول os برای کار با سیستم فایل و shutil برای کپی کردن فایل ها به کار می‌آید. همچنین، ما از ماژول datetime برای تنظیم نام دایرکتوری بکاپ استفاده خواهیم کرد.

مرحله 2: تعریف متغیرهای اصلی

در این مرحله، باید متغیرهای اصلی را تعریف کنیم. این شامل دایرکتوری مبدأ (جایی که فایل‌ها را از آن کپی می‌کنیم) و دایرکتوری مقصد (جایی که فایل‌ها را به آنجا کپی می‌کنیم) است.

source_dir = "path/to/source/directory"  # مسیر دایرکتوری مبدأ
backup_dir = "path/to/backup/directory"  # مسیر دایرکتوری بکاپ

مرحله 3: ایجاد دایرکتوری بکاپ با نام تاریخ

برای جلوگیری از بازنویسی داده‌ها، بهتر است هر بار که بکاپ می‌گیریم، یک دایرکتوری جدید با تاریخ و زمان ایجاد کنیم.

current_time = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
backup_path = os.path.join(backup_dir, f"backup_{current_time}")

if not os.path.exists(backup_path):
    os.makedirs(backup_path)

آموزش کتابخانه OS پایتون (رایگان)

مرحله 4: کپی کردن فایل‌ها

حالا که دایرکتوری بکاپ را ایجاد کرده‌ایم، می‌توانیم به کپی کردن فایل‌ها بپردازیم. اینجا از shutil.copy2() استفاده می‌کنیم تا اطلاعات متاب داده‌ها (مانند زمان تغییر و ایجاد) نیز حفظ شود.

for item in os.listdir(source_dir):
    s = os.path.join(source_dir, item)
    d = os.path.join(backup_path, item)
    if os.path.isdir(s):
        shutil.copytree(s, d, False, None)
    else:
        shutil.copy2(s, d)

مرحله 5: اجرای اسکریپت

حالا اسکریپت کامل است. می‌توانید آن را با استفاده از دستور زیر در ترمینال اجرا کنید:

python backup_script.py

مرحله 6: زمان‌بندی اسکریپت

برای این که اسکریپت به‌طور خودکار اجرا شود، از ابزارهای زمان‌بندی مانند cron در لینوکس یا Task Scheduler در ویندوز استفاده کنید.

مثال زمان‌بندی در لینوکس:

برای زمان‌بندی اسکریپت با استفاده از cron، دستور زیر را در ترمینال وارد کنید:

crontab -e

سپس یک خط جدید اضافه کنید تا اسکریپت هر روز در ساعت 2 صبح اجرا شود:

 2 * * * /usr/bin/python3 /path/to/backup_script.py

نتیجه‌ گیری

در این مقاله، یک اسکریپت ساده برای بکاپ خودکار با کتابخانه OS ایجاد کردیم. با این اسکریپت می‌توانید به‌طور منظم از داده‌های خود بکاپ گرفته و آن‌ها را در یک دایرکتوری جداگانه ذخیره کنید. پیشنهاد می‌شود که تنظیمات بیشتری مثل فشرده‌سازی فایل‌ها یا ارسال بکاپ‌ها به فضای ابری را نیز مد نظر داشته باشید تا سطح حفاظت از داده‌های شما افزایش یابد.