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

کمک و پشتیبانی => انجمن عمومی => نویسنده: saleh143 در 17 مهر 1401، 11:07 ب‌ظ

عنوان: تهیه پشتیبان از فایلهای مهم (حل شد)
ارسال شده توسط: saleh143 در 17 مهر 1401، 11:07 ب‌ظ
سلام دنبال راهی هستم که بشه از فایلهای مهم مثل فایل های کانفیگ پشتیبان گرفت اما ابزاری براش ندیدم
چون همه فایل ها رو با nano ویرایش میکنم شاید یک راهش این باشه اول تموم فایل هایی که با nano ویرایش شدن رو لیست کنم و بعدش کپی ولی نمیدونم چه جوری میشه ؟
عنوان: پاسخ : تهیه پشتیبان از فایلهای مهم
ارسال شده توسط: سودو. در 17 مهر 1401، 11:09 ب‌ظ
deja-dup
عنوان: پاسخ : تهیه پشتیبان از فایلهای مهم
ارسال شده توسط: Dragon- در 17 مهر 1401، 11:20 ب‌ظ
ucf
عنوان: پاسخ : تهیه پشتیبان از فایلهای مهم
ارسال شده توسط: saleh143 در 17 مهر 1401، 11:44 ب‌ظ
deja-dup


راستش ابزاری تو محیط ترمینال هم بشه ازش استفاده کرد و اینکه کل پوشه مثلا etc رو کپی نکنه میخام
عنوان: پاسخ : تهیه پشتیبان از فایلهای مهم
ارسال شده توسط: saleh143 در 17 مهر 1401، 11:48 ب‌ظ
ucf
چه جوری ازش استفاده کنم ؟ یه جور version control هست ؟ مثلا میشه فقط چند تا فایلی که کانفیگشون رو خودم ویرایش کردم ازشون پشتیبان گرفت ؟
عنوان: پاسخ : تهیه پشتیبان از فایلهای مهم
ارسال شده توسط: alih_net در 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/
عنوان: پاسخ : تهیه پشتیبان از فایلهای مهم
ارسال شده توسط: saleh143 در 20 مهر 1401، 07:19 ب‌ظ
ممنون خیلی کاربردی بود  :) خوبیش اینه که آخرین نسخه فایل رو نگه میداره و این خیلی خوبه

برای فایل های که قبلا ویرایش شدن هم ‍ توی zsh با دستور
cat /home/user/.zsh_history | grep "sudo nano"
میشه از فایل های ویرایش شده لیست گرفت و بعد هم پشتیبان گرفت
عنوان: پاسخ : تهیه پشتیبان از فایلهای مهم
ارسال شده توسط: Dragon- در 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 در 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~
عنوان: پاسخ : تهیه پشتیبان از فایلهای مهم
ارسال شده توسط: saleh143 در 21 مهر 1401، 11:29 ق‌ظ
جالبه اینجوری یه نسخه از فایل قبل ویرایش پشتیبان میگیره
عنوان: پاسخ : تهیه پشتیبان از فایلهای مهم
ارسال شده توسط: محمدرضا حقیری در 21 مهر 1401، 08:24 ب‌ظ
برای کانفیگ‌های شخصی، یک مخزن گیت به نام dotfiles ایجاد کنید و اون داتفایل‌های home رو اونجا بذارید.
برای بقیه هم که دوستان راهنمایی کردند.
عنوان: پاسخ : تهیه پشتیبان از فایلهای مهم [حل شد]
ارسال شده توسط: saleh143 در 29 مهر 1401، 12:22 ق‌ظ
بله ممنون