انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: تهیه پشتیبان از فایلهای مهم (حل شد)  (دفعات بازدید: 433 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین saleh143

  • Full Member
  • *
  • ارسال: 198
سلام دنبال راهی هستم که بشه از فایلهای مهم مثل فایل های کانفیگ پشتیبان گرفت اما ابزاری براش ندیدم
چون همه فایل ها رو با nano ویرایش میکنم شاید یک راهش این باشه اول تموم فایل هایی که با nano ویرایش شدن رو لیست کنم و بعدش کپی ولی نمیدونم چه جوری میشه ؟
« آخرین ویرایش: 29 مهر 1401، 12:23 ق‌ظ توسط saleh143 »

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : تهیه پشتیبان از فایلهای مهم
« پاسخ #1 : 17 مهر 1401، 11:09 ب‌ظ »
deja-dup
آرچ و گنوم!

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : تهیه پشتیبان از فایلهای مهم
« پاسخ #2 : 17 مهر 1401، 11:20 ب‌ظ »
ucf
میدونید که زکات علم نشر آن است

آفلاین saleh143

  • Full Member
  • *
  • ارسال: 198
پاسخ : تهیه پشتیبان از فایلهای مهم
« پاسخ #3 : 17 مهر 1401، 11:44 ب‌ظ »
deja-dup


راستش ابزاری تو محیط ترمینال هم بشه ازش استفاده کرد و اینکه کل پوشه مثلا etc رو کپی نکنه میخام

آفلاین saleh143

  • Full Member
  • *
  • ارسال: 198
پاسخ : تهیه پشتیبان از فایلهای مهم
« پاسخ #4 : 17 مهر 1401، 11:48 ب‌ظ »
ucf
چه جوری ازش استفاده کنم ؟ یه جور version control هست ؟ مثلا میشه فقط چند تا فایلی که کانفیگشون رو خودم ویرایش کردم ازشون پشتیبان گرفت ؟

آفلاین alih_net

  • High Sr. Member
  • *
  • ارسال: 596
  • جنسیت : پسر
    • سیدعلی حسینی
پاسخ : تهیه پشتیبان از فایلهای مهم
« پاسخ #5 : 18 مهر 1401، 06:17 ق‌ظ »
این اسکریپت رو براتون نوشتم که بتونید از هر فایلی که با nano ادیت می‌شه، یک نسخه پشتیبان هم تهیه کنید:

۱- سورس کد زیر رو در فایلی به نام nanoback و در مسیری که جزو PATH هست قرار می‌دید.

#!/bin/bash

if [ -z "$1" ]
  then
    echo "[Error] The file is not specified!"
    exit
fi

if [ -z "$2" ]
  then
    BACKUP_DIR="/root/nanoback"
else
    BACKUP_DIR="$(eval realpath $2)"
fi
echo "[Notice] Backups directory: $BACKUP_DIR"

CONFIG_FILE="$1"
BACKUP_FILE="$BACKUP_DIR$(eval realpath $1)"
BACKUP_PATH=$(eval dirname $BACKUP_FILE)

nano "$CONFIG_FILE"

mkdir -pv $BACKUP_PATH
cp -v $CONFIG_FILE $BACKUP_PATH

پیشنهاد من اینجاست:
sudo nano /usr/local/bin/nanoback

۲- دسترسی اجرایی به فایلمون می‌دیم
sudo chmod +x /usr/local/bin/nanoback


مثال:

۱- ویرایش etc/fstab/ با nano و ذخیره بکاپ در مسیر root/nanoback/

sudo nanoback /etc/fstab

۲- ویرایش etc/fstab/ با nano و ذخیره بکاپ در مسیر مورد نظر /home/alih/configs/
sudo nanoback /etc/fstab /home/alih/configs/
« آخرین ویرایش: 18 مهر 1401، 06:20 ق‌ظ توسط alih_net »

آفلاین saleh143

  • Full Member
  • *
  • ارسال: 198
پاسخ : تهیه پشتیبان از فایلهای مهم
« پاسخ #6 : 20 مهر 1401، 07:19 ب‌ظ »
ممنون خیلی کاربردی بود  :) خوبیش اینه که آخرین نسخه فایل رو نگه میداره و این خیلی خوبه

برای فایل های که قبلا ویرایش شدن هم ‍ توی zsh با دستور
cat /home/user/.zsh_history | grep "sudo nano"
میشه از فایل های ویرایش شده لیست گرفت و بعد هم پشتیبان گرفت

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : تهیه پشتیبان از فایلهای مهم
« پاسخ #7 : 20 مهر 1401، 09:48 ب‌ظ »
این اسکریپت رو براتون نوشتم که بتونید از هر فایلی که با nano ادیت می‌شه، یک نسخه پشتیبان هم تهیه کنید:

۱- سورس کد زیر رو در فایلی به نام nanoback و در مسیری که جزو PATH هست قرار می‌دید.

#!/bin/bash

if [ -z "$1" ]
  then
    echo "[Error] The file is not specified!"
    exit
fi

if [ -z "$2" ]
  then
    BACKUP_DIR="/root/nanoback"
else
    BACKUP_DIR="$(eval realpath $2)"
fi
echo "[Notice] Backups directory: $BACKUP_DIR"

CONFIG_FILE="$1"
BACKUP_FILE="$BACKUP_DIR$(eval realpath $1)"
BACKUP_PATH=$(eval dirname $BACKUP_FILE)

nano "$CONFIG_FILE"

mkdir -pv $BACKUP_PATH
cp -v $CONFIG_FILE $BACKUP_PATH
این اسکریپت یه مشکلی داره. اگه سعی کنید به nano آپشن بدید، اسکریپت درست کار نمی‌کنه.
میدونید که زکات علم نشر آن است

آفلاین alih_net

  • High Sr. Member
  • *
  • ارسال: 596
  • جنسیت : پسر
    • سیدعلی حسینی
پاسخ : تهیه پشتیبان از فایلهای مهم
« پاسخ #8 : 21 مهر 1401، 08:22 ق‌ظ »
یه سوییچ جالب از خود nano یک بکاپ از نسخه قبل از ویرایش می‌گیره:

nano /etc/fstab -BC ~/


نقل‌قول
       -B, --backup
              When saving a file, back up the previous version of it, using the current filename suffixed with a tilde (~).

       -C directory, --backupdir=directory
              Make and keep not just one backup file, but make and keep a uniquely numbered one every time a file is saved -- when backups are enabled (-B).  The uniquely numbered files are  stored
              in the specified directory.


فقط ایرادش اینه که به جای ایجاد دایرکتوری‌های داخلی، / رو تبدیل به ! می‌کنه. مثلا اسم فایل بکاپ مثال بالا میشه:
!etc!fstab~
« آخرین ویرایش: 21 مهر 1401، 11:33 ق‌ظ توسط alih_net »

آفلاین saleh143

  • Full Member
  • *
  • ارسال: 198
پاسخ : تهیه پشتیبان از فایلهای مهم
« پاسخ #9 : 21 مهر 1401، 11:29 ق‌ظ »
جالبه اینجوری یه نسخه از فایل قبل ویرایش پشتیبان میگیره

آفلاین محمدرضا حقیری

  • High Sr. Member
  • *
  • ارسال: 528
    • ذهن زیبا
پاسخ : تهیه پشتیبان از فایلهای مهم
« پاسخ #10 : 21 مهر 1401، 08:24 ب‌ظ »
برای کانفیگ‌های شخصی، یک مخزن گیت به نام dotfiles ایجاد کنید و اون داتفایل‌های home رو اونجا بذارید.
برای بقیه هم که دوستان راهنمایی کردند.

آفلاین saleh143

  • Full Member
  • *
  • ارسال: 198
پاسخ : تهیه پشتیبان از فایلهای مهم [حل شد]
« پاسخ #11 : 29 مهر 1401، 12:22 ق‌ظ »
بله ممنون