-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackup
More file actions
53 lines (42 loc) · 1.33 KB
/
Copy pathbackup
File metadata and controls
53 lines (42 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
# 設定備份目的地
BACKUP_DIR="$(pwd)/.backup"
BACKUP_FULL_PATH="$BACKUP_DIR"
# 如果備份已存在,刪除舊的備份
if [ -d "$BACKUP_FULL_PATH" ]; then
echo "發現備份,刪除舊備份"
rm -rf "$BACKUP_FULL_PATH"
fi
# 建立備份目的地
mkdir -p "$BACKUP_FULL_PATH"
# 備份 .vimrc 文件
if [ -f "$HOME/.vimrc" ]; then
cp "$HOME/.vimrc" "$BACKUP_FULL_PATH/.vimrc"
echo "已備份 .vimrc 文件"
else
echo "找不到 .vimrc 文件"
fi
# 備份 .vim 目錄,排除 .vim/plugged
if [ -d "$HOME/.vim" ]; then
rsync -av --exclude "plugged" "$HOME/.vim/" "$BACKUP_FULL_PATH/vim/"
echo "已備份 .vim 目錄"
else
echo "找不到 .vim 目錄"
fi
# 記錄使用的插件
if [ -f "$HOME/.vimrc" ]; then
echo "正在記錄已使用的插件."
grep -i "Plug '" "$HOME/.vimrc" > "$BACKUP_FULL_PATH/plugins_list.txt" 2>/dev/null
grep -i 'Plug "' "$HOME/.vimrc" >> "$BACKUP_FULL_PATH/plugins_list.txt" 2>/dev/null
if [ -s "$BACKUP_FULL_PATH/plugins_list.txt" ]; then
echo "已記錄插件清單到 plugins_list.txt"
else
echo "未找到使用 vim-plug 管理的插件,或格式不匹配"
fi
fi
echo "備份完成"
# 獲取當前日期
CURRENT_DATE=$(date +"%Y%m%d%H%M")
git add .
git commit -m "chore: config backup at $CURRENT_DATE"
git push origin main