العودة إلى الدورة

بناء سكريبت أتمتة عملي (النسخ الاحتياطي المؤتمت)

دورة Termux المتقدمة: من الصفر إلى مستخدم Linux خبير على نظام Android

33. بناء سكريبت أتمتة عملي (النسخ الاحتياطي المؤتمت)

لنطبق معرفتنا بالبرمجة النصية لإنشاء سكريبت مفيد: النسخ الاحتياطي لدليل Termux home الخاص بنا إلى تخزين Android المشترك.

المتطلبات الأساسية

تأكد من أنك قمت بتشغيل termux-setup-storage وتعرف مسار التخزين المشترك الخاص بك (~/storage/shared).

سكريبت النسخ الاحتياطي (termux_backup.sh)

سوف نستخدم الأمر tar للأرشفة والضغط.

bash $ nano termux_backup.sh

المحتوى:

bash #!/bin/bash

--- متغيرات التهيئة ---

BACKUP_DIR="/data/data/com.termux/files/home" TARGET_DIR="/data/data/com.termux/files/home/storage/downloads/Termux_Backups" DATE_STAMP=$(date +%Y-%m-%d_%H%M%S) BACKUP_FILE="termux_backup_${DATE_STAMP}.tar.gz"

echo "Starting Termux Home Backup..."

1. إنشاء دليل الوجهة إذا لم يكن موجودًا

if [ ! -d "$TARGET_DIR" ]; then mkdir -p "$TARGET_DIR" echo "Created target directory: $TARGET_DIR" fi

2. إنشاء الأرشيف المضغوط (باستثناء مجلد النسخ الاحتياطي نفسه)

-c: إنشاء، -z: ضغط (gzip)، -v: مطول، -f: اسم الملف

cd $BACKUP_DIR tar -czvf "$TARGET_DIR/$BACKUP_FILE" --exclude='storage' --exclude='Termux_Backups' ./*

if [ $? -eq 0 ]; then echo "\nSUCCESS: Backup created at $TARGET_DIR/$BACKUP_FILE" echo "Size: $(du -h $TARGET_DIR/$BACKUP_FILE | awk '{print $1}')" else echo "\nERROR: Backup failed." fi

اجعله قابلاً للتنفيذ: chmod +x termux_backup.sh

تشغيل: ./termux_backup.sh

يوضح هذا السكريبت المتغيرات، والشروط، والأوامر الخارجية (tar، du، awk) وهي تعمل معًا للأتمتة.