أكواد أتمتة يومية، ادخل عصر الـAutomation
مجموعة أكواد Python وBash لأتمتة مهامّك اليومية: ملفّات، إيميلات، تقارير، مواعيد.
الأتمتة توفّر ساعات أسبوعياً. أفضل استثمار للمهنيّ. هذه أكواد جاهزة لأشهر مهام الأتمتة.
1) نسخ احتياطي تلقائي
import shutil
from datetime import datetime
from pathlib import Path
def backup_folder(source: str, backup_root: str) -> str:
"""نسخة احتياطية بالتاريخ."""
timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M")
backup_dir = Path(backup_root) / f"backup_{timestamp}"
shutil.copytree(source, backup_dir)
return str(backup_dir)
# استخدام
backup_folder("/Users/you/Documents/Important", "/Users/you/Backups")
جدولة يومية (macOS/Linux):
crontab -e
# أضف:
0 2 * * * /usr/bin/python3 /path/to/backup.py
2) تنبيه Slack عند حدث
import requests
def send_slack_alert(webhook_url: str, message: str) -> None:
"""إرسال رسالة Slack عبر Webhook."""
requests.post(webhook_url, json={"text": message})
# استخدام مع Try/Except
try:
# كودك
result = risky_operation()
send_slack_alert(WEBHOOK, f"[OK] نجح: {result}")
except Exception as e:
send_slack_alert(WEBHOOK, f"[FAIL] فشل: {e}")
3) قراءة إيميلات (IMAP)
import imaplib
import email
from email.header import decode_header
def read_unread_emails(user: str, password: str, imap_server: str = "imap.gmail.com"):
"""قراءة الإيميلات غير المقروءة."""
with imaplib.IMAP4_SSL(imap_server) as mail:
mail.login(user, password)
mail.select("inbox")
_, msg_ids = mail.search(None, "UNSEEN")
for msg_id in msg_ids[0].split():
_, msg_data = mail.fetch(msg_id, "(RFC822)")
email_body = email.message_from_bytes(msg_data[0][1])
subject = decode_header(email_body["Subject"])[0][0]
if isinstance(subject, bytes):
subject = subject.decode()
print(f"من: {email_body['From']}")
print(f"الموضوع: {subject}\n")
4) تصفية الصور بالحجم
from PIL import Image
from pathlib import Path
def compress_images(folder: str, max_size_kb: int = 500) -> None:
"""ضغط الصور الكبيرة."""
for img_path in Path(folder).glob("*.jpg"):
if img_path.stat().st_size > max_size_kb * 1024:
img = Image.open(img_path)
img.thumbnail((1920, 1920))
img.save(img_path, quality=80, optimize=True)
print(f"ضُغطت: {img_path.name}")
5) تقرير أسبوعي تلقائي
import pandas as pd
from datetime import datetime, timedelta
def weekly_report(csv_file: str) -> str:
"""تقرير الأسبوع الماضي من CSV."""
df = pd.read_csv(csv_file, parse_dates=["date"])
week_ago = datetime.now() - timedelta(days=7)
recent = df[df["date"] >= week_ago]
report = f"""
# تقرير الأسبوع {datetime.now().strftime('%Y-%m-%d')}
- إجمالي المعاملات: {len(recent)}
- المبيعات: {recent['amount'].sum():,.2f} ريال
- المتوسّط: {recent['amount'].mean():,.2f} ريال
- أعلى معاملة: {recent['amount'].max():,.2f} ريال
"""
return report
6) مراقبة موقع (Ping)
import requests
import time
def monitor_website(url: str, check_interval: int = 60) -> None:
"""مراقبة موقع وإرسال تنبيه إذا سقط."""
while True:
try:
r = requests.get(url, timeout=10)
if r.status_code!= 200:
print(f"[WARN] {url} — HTTP {r.status_code}")
# send_alert()
except Exception as e:
print(f"[ERR] {url} — {e}")
# send_alert()
time.sleep(check_interval)
7) تحويل PDF إلى نصّ
import pypdf
def pdf_to_text(pdf_path: str) -> str:
"""استخراج نصّ من PDF."""
reader = pypdf.PdfReader(pdf_path)
text = ""
for page in reader.pages:
text += page.extract_text() + "\n"
return text
# استخدام
text = pdf_to_text("report.pdf")
print(text[:500])
8) تعديل جماعي لأسماء الملفّات
from pathlib import Path
def bulk_rename(folder: str, pattern: str, replacement: str) -> None:
"""تعديل جماعي لأسماء الملفّات."""
for file in Path(folder).iterdir():
if pattern in file.name:
new_name = file.name.replace(pattern, replacement)
file.rename(file.parent / new_name)
print(f"{file.name} → {new_name}")
# استخدام
bulk_rename("/photos/vacation", "IMG_", "vacation_")
9) استخراج بيانات من Excel لـJSON
import pandas as pd
import json
def excel_to_json(excel_path: str, json_path: str, sheet: str = None) -> None:
"""تحويل Excel إلى JSON."""
df = pd.read_excel(excel_path, sheet_name=sheet)
data = df.to_dict(orient="records")
with open(json_path, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
excel_to_json("customers.xlsx", "customers.json")
10) Bash، أتمتة بسيطة
مسح ملفّات مؤقّتة
#!/bin/bash
# clean_temp.sh
find /tmp -type f -mtime +7 -delete
find ~/Downloads -type f -mtime +30 -delete
echo "تمّ التنظيف"
نسخة احتياطية لقاعدة بيانات
#!/bin/bash
# backup_db.sh
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backups/db"
mkdir -p "$BACKUP_DIR"
pg_dump -U user dbname > "$BACKUP_DIR/db_$DATE.sql"
gzip "$BACKUP_DIR/db_$DATE.sql"
# احذف نسخ أقدم من 30 يوم
find "$BACKUP_DIR" -name "*.sql.gz" -mtime +30 -delete
مراقبة استخدام القرص
#!/bin/bash
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt 80 ]; then
echo "[WARN] القرص ممتلئ: $USAGE%"
# send alert
fi
جدولة السكريبتات
macOS/Linux (cron)
crontab -e
# كل يوم الساعة 2 صباحاً
0 2 * * * /usr/bin/python3 /path/to/backup.py
# كل ساعة
0 * * * * /path/to/monitor.sh
# كل يوم اثنين 9 صباحاً
0 9 * * 1 /path/to/weekly_report.py
Windows (Task Scheduler)
- افتح Task Scheduler
- Create Basic Task
- حدّد الجدول
- اختر Action: Start a program
- Program: python.exe
- Arguments:
C:\path\to\script.py
أدوات بلا كود
- Zapier، 5000+ تكامل
- Make.com (سابقاً Integromat)، أقوى وأرخص
- n8n، مفتوح المصدر، ذاتي الاستضافة
- IFTTT، للأتمتة الشخصية البسيطة
نصائح ذهبية
- ابدأ بأتمتة مهمّة واحدة، أنجزها، ثمّ توسّع
- Logging لكل سكريبت، تحتاج معرفة ما حدث
- Error handling، الأتمتة تفشل، جهّز التنبيهات
- Idempotent، السكريبت الذي يعمل مرّتَين لا يُنتج ضرراً
- Environment variables لـSecrets
المصادر الرسمية
أفضل بيئات لتشغيل هذه الأكواد
للمبتدئ: Google Colab مجّاني، بيئة Python كاملة في المتصفّح، بلا تثبيت. مثالي لتجربة الأكواد قبل التبنّي.
للاستخدام اليومي: Python 3.11+ على جهازك، مع محرّر مثل VS Code + إضافة Python. يمنحك تحكّماً كاملاً بجدولة المهامّ.
للجدولة: على Windows استخدم Task Scheduler. على macOS/Linux استخدم cron. أو خدمة سحابية مثل GitHub Actions لتشغيل أكواد بلا خادم.
للنشر: Replit أو Railway لتشغيل الأكواد كخدمة دائمة برخصة مجانية للاستخدام المحدود.
اقرأ أيضاً: أفضل ١٠ أكواد Python · Web Scraping، دليل · أكواد Excel و Sheets · OpenAI API، البدء
الأسئلة الشائعة
لا. Python وBash أساسيّتان كافيتان. مع ChatGPT، تكتب سكريبتاً في دقائق حتى لو كنت مبتدئاً.
Zapier وMake.com للتكاملات بلا كود. Python + cron للسكريبتات المتقدّمة. Task Scheduler على Windows.
ضمن سلسلة: أكواد وأتمتة جاهزة
المقال 9 من 9مقاطع كود جاهزة: بايثون، جافاسكربت، React، SQL، Git، وأتمتة المهام اليومية.
- 1.أفضل 10 أكواد Python يبحث عنها المطوّرونالدليل الشامل
- 2.أفضل أكواد JavaScript يبحث عنها المطوّرون
- 3.أكواد React و Next.js الأساسية 2026
- 4.أكواد HTML و CSS الأساسية، مكتبة المطوّر
- 5.أكواد SQL جاهزة، أشهر 20 استعلاماً يبحث عنها المطوّر
- 6.أكواد Git الأساسية، أوامر كل مطوّر يحتاجها
- 7.أكواد Bash و PowerShell، أتمتة سطر الأوامر
- 8.أكواد Excel و Google Sheets، أتمتة البيانات
- 9.أكواد أتمتة يومية، ادخل عصر الـAutomation
مقالات ذات صلة
Deep Research و NotebookLM، الأدوات القاتلة من Google
شرح Deep Research وNotebookLM: أداتان من Google تُغيّران طريقة البحث والتعلّم، كيف تستخدمهما — Google أطلقت أداتَين غيّرتا كيف نبحث ونتعلّم: Deep…
الذكاء الاصطناعي للفريلانسر، دليل رفع الإنتاجية والدخل
دليل عملي للفريلانسر السعودي: أدوات AI ترفع دخلك، توفّر ساعات، تُنافس الأكبر، بأمثلة حقيقية — سوق نامٍ، العملاء يريدون AI لكن لا يعرفون كيف.
Cohere، الشركة التي اختارت ألّا يعرفها أحد
قصّة Cohere الكندية: أصغر مؤلّفي ورقة Transformer، رهان على البنوك بدل الشوارع، وشراكة مع Oracle قد تُعيد رسم سوق AI الشركاتي.
دليل السفر إلى نيويورك من السعودية ٢٠٢٦، أفضل وقت والفيزا
متى تزور نيويورك، متطلّبات الفيزا الأمريكية للسعودي، وأبرز معالمها من تمثال الحرية إلى تايمز سكوير — دليل عملي بجداول طقس حقيقية وروابط طيران وفنادق.
برنامج تمهير ٢٠٢٦: التدريب على رأس العمل للسعوديين الخرّيجين
دليل تمهير — من يستحقّه، مدّة البرنامج، المكافأة الشهرية، فرص التوظيف بعد الانتهاء، وطريقة التسجيل عبر tamheer.sa.
شموع باث اند بودي وركس: ثلاث فتائل أم فتيلة واحدة؟
كيف تختار شمعة باث اند بودي وركس في السعودية: الفرق بين شموع الفتائل الثلاث والفتيلة الواحدة، أكثر الروائح تقييماً في موقعهم، ونصائح أمان الشموع من NFPA.