إضافة طابع زمني
جزء من قسم الأساسيات في رحلة Terminal على Coddy — الدرس 78 من 82.
التحدي
سهلدعونا نجعل اسم مجلد النسخ الاحتياطي فريداً عن طريق إضافة طابع زمني. بهذه الطريقة، سيقوم كل نسخ احتياطي بإنشاء مجلد جديد بدلاً من الكتابة فوق المجلد السابق.
قم بتعديل backup.sh لـ:
- الاحتفاظ بجميع الأكواد الموجودة من الدرس السابق
- استبدال
backup_dir="backup"الثابت باسم ديناميكي يتضمن طابعاً زمنياً - استخدام استبدال الأوامر مع أمر
dateلإنشاء طابع زمني بتنسيقYYYYMMDD_HHMMSS - يجب أن يكون اسم مجلد النسخ الاحتياطي:
backup_[timestamp]
أمر date مع محددات التنسيق ينشئ طوابع زمنية:
date +%Y%m%d_%H%M%Sاستخدم استبدال الأوامر $(command) لالتقاط هذا المخرج في متغير:
timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"قم بتشغيل السكربت وأدخل documents عند مطالبتك بذلك. يجب أن يبدو مخرجك كالتالي:
Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfullyسيكون الطابع الزمني في مخرجك مختلفاً بناءً على التاريخ والوقت الحاليين.
تلميح: أضف
timestamp=$(date +%Y%m%d_%H%M%S)قبل تعريفbackup_dir، ثم استخدمbackup_dir="backup_$timestamp"لإنشاء اسم المجلد الديناميكي.
جرّب بنفسك
cat > backup.sh << 'EOF'
#!/bin/bash
read -p "Enter source directory: " source_dir
echo "Backing up: $source_dir"
backup_dir="backup"
mkdir -p "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$source_dir"/* "$backup_dir"
echo "Files copied successfully"
EOF
echo "documents" | bash backup.sh
ls backupجميع دروس الأساسيات
2التنقل
عرض مسار المجلد الحاليعرض الملفاتتغيير المجلدالمسارات المطلقة مقابل المسارات النسبيةمجلد المنزل ومجلد الجذرخلاصة - حدد مسارك8إعادة التوجيه
المخرجات القياسيةالكتابة فوق ملفالإضافة إلى ملفالمدخلات القياسيةالخطأ القياسيمراجعة - بناء سجل الأحداث11الأذونات
فهم الأذوناتقراءة الأذوناتChmod باستخدام الأرقامChmod باستخدام الرموزملكية الملفاتملخص - إحكام الحماية14مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدر