Забудь про ручное копирование. Используй
rsync + версионирование, чтобы миграция алиасов, .bashrc, .config, env-переменных прошла чисто и прозрачно.▪️ Структура. Создадим папку
~/env-backup/ со всеми элементами:
#!/bin/bash
TIMESTAMP=$(date +"%Y%m%d-%H%M%S")
BACKUP_DIR=~/env-backup/$TIMESTAMP
mkdir -p "$BACKUP_DIR"
# Экспорт переменных среды
export -p > "$BACKUP_DIR/env.sh"
# Сохраняем bash окружение
cp ~/.bashrc ~/.bash_aliases ~/.profile "$BACKUP_DIR" 2>/dev/null
# Копируем .config (если нужно)
rsync -a --exclude="*/Cache/" ~/.config "$BACKUP_DIR/config" 2>/dev/null
echo "Окружение сохранено в: $BACKUP_DIR"
▪️ Синхронизация на другой сервер
rsync -avz ~/env-backup/ user@new-host:~/env-backup/
На новом сервере:
cd ~/env-backup/YYYYMMDD-HHMMSS/
cp .bashrc .bash_aliases .profile ~/
rsync -a config/ ~/.config/
# Подгружаем переменные среды
source env.sh
▪️ Версионирование. Каждая копия создаётся с уникальным timestamp'ом, и ты всегда можешь:
📍 Вернуться к предыдущей версии;
📍 Отслеживать изменения в алиасах и bash-окружении;
📍 Проверять дифф между окружениями:
diff -u ~/env-backup/20240601-1000/.bashrc ~/env-backup/20240520-0900/.bashrc
🌟 Рекомендация. Добавь в ~/.bashrc:
[[ -f ~/.bash_aliases ]] && source ~/.bash_aliases
[[ -f ~/env-backup/env.sh ]] && source ~/env-backup/env.sh
BashTex 📱 #bash