ArchLinux System Maintenance Guide

感觉上来说,这个学期我工作的主线就一直是这件事。不断地配置环境啊,折腾备份、同步的东西。但是主要的工作感觉迟迟没有展开。磨刀磨了一学期,感觉快要开始了(快要结束了)。

谈谈系统维护,首先是从grub命令行引导进ArchLinux,这个已经演习了一万遍了。不过未来要是没有一个grub命令行给我操作的话,估计就要插入安装介质了。

恢复进系统以后就:

1
2
sudo grub-install --efi-directory=/efi --bootloader-id=ArchLinux
sudo grub-mkconfig -o /boot/grub/grub.cfg

这样把grub装上就好 下次还非正常关机,继续丢引导

其实Arch的配置并没有什么好讨论的,只要所有的包啊都在就行了。这里就贴出那个README

Update lists:

1
pacman -Qqe > Archpkglist.txt

Install packages from the list:

1
pacman -S --needed - < Archpkglist.txt

Filter out AUR packages

1
pacman -S needed $(comm -12 < (pacman -Slq | sort) < (sort Archpkglist.txt))

Gitlab backup script

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
# need sudo

if [ $(whoami) != "root" ]; then
echo Need run as root
exit
fi

## Gitlab
rm /var/opt/gitlab/backups/*.tar
gitlab-rake gitlab:backup:create
cp /var/opt/gitlab/backups/*.tar /mnt/e/Gitlab/
cp -r /etc/gitlab /mnt/e/Gitlab/
chown -R kaguya:kaguya /mnt/e/Gitlab

Gitlab recover

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
# need sudo
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# need package under /var/opt/gitlab/backups/*.tar
gitlab-rake gitlab:backup:restore BACKUP=$TIMESTAMP # TIMESTAMP TBD
## OR
gitlab-rake gitlab:backup:restore # only have one bak
cp -r $GITLABCFG /etc/gitlab

gitlab-ctl start
gitlab-ctl reconfigure

另外有 Ubuntu 服务器主机的每周备份:

Ubuntu backup:

1
nohup time tar cvpjf /mnt/e/$(date -I)_backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/dev --exclude=/snap --exclude=/usr/var/lib --exclude=/home/kaguya/PicUploader/uploads/WHITE\ ALBUM2\ ~closing\ chapter~\ \[汉化硬盘版\].zip / 1>/mnt/e/sysbak.log 2>/mnt/e/sysbak.err &

排除 /dev /mnt /sys /proc /tmp /lost+found 之类的分区(mnt根本就打不下)

恢复就是把包copy一下,然后解包到 /

1
nohup time tar cvpzf *.tar.bz2 -C /

这个认为其实可以不在一个完整系统下做。只需要有一个ext4盘,挂到安装介质的 /mnt 就可以开恢复了

1
mklost+found