经历过系统升级后,一切归于初始,不得以又要从头再来一遍繁琐的苦恼
再一次配置系统时,详细的记录下修改的配置文件,及时备份
下一次刷机前先备份配置文件,刷机后替换还原,以免又得从头再来一遍的苦恼
以下内容仅为我个人修改过配置文件的备份还原,
大家如有需要,只修改成自己要备份还原的文件及路径即可
#!/bin/sh
######################################################################
#一键备份或者还原配置文件
#使用说明
#=====================================================================
#配置文件备份
#在第一次配置系统时请详细记录改动过的文件,以防在备份配置文件时漏掉
#建立好系统还原后不会被改动的保存备份文件位置/mnt/sda1/backupset
#cp -rf /要备份的文件 /mnt/sda1/backupset/备份文件
#用上面的命令把所有修改过的文件篴一备份,不要漏掉修改过的文件
#---------------------------------------------------------------------
#配置文件还原
#还原程序配置文件之前,请尽可能的先停止该程序
#cp -rf /mnt/sda1/backupset/还原的文件 /要还原文件的位置
#用上面的命令把备份的配置文件还原到原来的位置,不要漏掉任何文件
#还原配置文件完成后,不要忘了重新启动该程序
#重复以上还原步骤,篴个程序进行还原
#====================================================================
#不要漏了任何修改过的程序及配置文件
######################################################################
echo
date=$(date "+%Y-%m-%d %H:%M:%S")
echo " 系统当前时间:$date "
echo "----------------------------------------------"
echo "|\033[1;31m 一键备份还原,原系统基础上修改后的配置文件\033[0m |"
echo "|\033[32m 1.备份配置文件\033[0m" "\033[33m 2.还原配置文件\033[0m |"
echo "----------------------------------------------"
echo "\033[1;36m=========\033[0m" "\033[1;36m 请输入你要进行操作的序号\033[0m " "\033[1;36m=========\033[0m"
echo
read -p "请输入你对配置文件的操作(备份输:1,恢复输:2):" input
case $input in
1)
echo "\033[1;31m 以下是备份的内容\033[0m"
#修改了FRP穿透配置,备份配置文件frpc.ini
cp -rf /etc/frp/frpc.ini /mnt/sda1/backupset/frpc.ini
echo "备份/etc/frp/frpc.ini配置文件至/mnt/sda1/backupset"
#修改了WebDav的目录以及访问用户名和密码
cp -rf /etc/nginx/sites-available/nginx_webdav /mnt/sda1/backupset/nginx_webdav
echo "备份/etc/nginx/sites-available/nginx_webdav配置文件至/mnt/sda1/backupset"
cp -rf /etc/nginx/passwords.list /mnt/sda1/backupset/passwords.list
echo "备份/etc/nginx/passwords.list配置文件至/mnt/sda1/backupset"
#修改了Aria2下载器的下载目录及密码
cp -rf /usr/local/aria2/aria2.conf /mnt/sda1/backupset/aria2.conf
echo "备份/usr/local/aria2/aria2.conf配置文件至/mnt/sda1/backupset"
#修改了Aria2下载器以www-data权限运行,没有修改低权限运行无需备份
cp -rf /etc/systemd/system/aria2c.service /mnt/sda1/backupset/aria2c.service
echo "备份/etc/systemd/system/aria2c.service配置文件至/mnt/sda1/backupset"
#修改了Transmission下载器的下载目录及用户密码
cp -rf /etc/transmission-daemon/settings.json /mnt/sda1/backupset/settings.json
echo "备份/etc/transmission-daemon/settings.json配置文件至/mnt/sda1/backupset"
#修改了Transmission下载器的以www-data权限运行,以及更改用户后重新设置配置目录,如果没有修改运行权限,无需备份还原
cp -rf /lib/systemd/system/transmission-daemon.service /mnt/sda1/backupset/transmission-daemon.service
echo "备份/lib/systemd/system/transmission-daemon.service配置文件至/mnt/sda1/backupset"
#修改了主页导航目录链接以及图标
cp -rf /var/www/html/index.html /mnt/sda1/backupset/index.html
echo "备份/var/www/html/index.html配置文件至/mnt/sda1/backupset"
cp -rf /var/www/html/img/png/alist.png /mnt/sda1/backupset/alist.png
echo "备份/var/www/html/img/png/alist.png配置文件至/mnt/sda1/backupset"
cp -rf /var/www/html/img/png/kod.png /mnt/sda1/backupset/kod.png
echo "备份/var/www/html/img/png/kod.png配置文件至/mnt/sda1/backupset"
#cp -rf 要备份的文件 /mnt/sda1/backupset/备份文件
;;
2)
echo "\033[1;31m 以下是还原的配置文件\033[0m"
#还原FRP穿透的配置
systemctl stop frpc #停止FRP穿透服务
cp -rf /mnt/sda1/backupset/frpc.ini /etc/frp/frpc.ini
echo "还原frpc.ini配置文件至/etc/frp/frpc.ini"
systemctl restart frpc #重启FRP穿透服务
#还原WebDav的配置文件
cp -rf /mnt/sda1/backupset/nginx_webdav /etc/nginx/sites-available/nginx_webdav
echo "还原nginx_webdav配置文件至/etc/nginx/sites-available/nginx_webdav"
cp -rf /mnt/sda1/backupset/passwords.list /etc/nginx/passwords.list
echo "还原passwords.list配置文件至/etc/nginx/passwords.list"
nginx -s reload #重启Nginx服务器
#还原Aria2的配置文件
cp -rf /mnt/sda1/backupset/aria2.conf /usr/local/aria2/aria2.conf
echo "还原aria2.conf配置文件至/usr/local/aria2/aria2.conf"
#修改了Aria2下载器以www-data权限运行,没有修改低权限运行无需还原
cp -rf /mnt/sda1/backupset/aria2c.service /etc/systemd/system/aria2c.service
echo "还原aria2c.service配置文件至/etc/systemd/system/aria2c.service"
systemctl restart aria2c #重启Aria2下载器
#还原Transmission下载器的配置文件
cp -rf /mnt/sda1/backupset/settings.json /etc/transmission-daemon/settings.json
echo "还原settings.json配置文件至/etc/transmission-daemon/settings.json"
#修改了Transmission下载器的以www-data权限运行,以及更改用户后重新设置配置目录,如果没有修改运行权限,无需备份还原
cp -rf /mnt/sda1/backupset/transmission-daemon.service /lib/systemd/system/transmission-daemon.service
echo "还原/transmission-daemon.service配置文件至/lib/systemd/system/transmission-daemon.service"
/etc/init.d/transmission-daemon start #重启Transmission下载器
#还原主页导航配置及文件
cp -rf /mnt/sda1/backupset/index.html /var/www/html/index.html
echo "还原index.html配置文件至/var/www/html/index.html"
cp -rf /mnt/sda1/backupset/alist.png /var/www/html/img/png/alist.png
echo "还原alist.png配置文件至/var/www/html/img/png/alist.png"
cp -rf /mnt/sda1/backupset/kod.png /var/www/html/img/png/kod.png
echo "还原kod.png配置文件至/var/www/html/img/png/kod.png"
;;
*)
echo
echo "\033[35m 输入错误,请重新运行并输入你要进行的操作\033[0m "
echo " ------------------------"
echo " |\033[32m 备份配置文件请输\033[0m :\033[1;32m 1 \033[0m|"
echo " | 或者 |"
echo " |\033[33m 还原配置文件请输\033[0m :\033[1;33m 2 \033[0m|"
echo " ------------------------"
;;
esac
以下仅作修改下载器运行账户的记录:
1.Aria2下载器修改以低权限账户运行,为了配合可道云使用,我把它改成www-data账户运行
只需要在etc/systemd/system/aria2c.service文件的[Service]项下面添加User=www-data即可
[Service]
User=www-data
2.Transmission下载器修改运行账户,为了配合可道云使用,我把它改成www-data账户运行
只需要在/lib/systemd/system/transmission-daemon.service文件的[Service]项下面修改User=www-data即可
由于修改了默认的运行账户,致其配置文件也被钉到了修改后的账户下面,而导致/etc/transmission-daemon/settings.json配置文件不生效的问题,只需要在[Service]项下面增加一条强制配置文件的位置即可:Environment=TRANSMISSION_HOME=/etc/transmission-daemon
[Service]
User=www-data
Environment=TRANSMISSION_HOME=/etc/transmission-daemon