إضافة طابع زمني
جزء من قسم الأساسيات في رحلة Terminal على Coddy. الدرس 78 من 82.
التحدي
سهلدعنا نجعل اسم مجلد النسخ الاحتياطي (backup) فريدًا عن طريق إضافة طابع زمني (timestamp). بهذه الطريقة، يُنشئ كل نسخ احتياطي مجلدًا جديدًا بدلاً من الكتابة فوق المجلد السابق.
قم بتعديل 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مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدرتدرّب بنفسك: Playground لـ Terminal