2025-04-10 16:36:03 +08:00

111 lines
3.9 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 备份目录脚本
# 参数配置
## 版本号
VERSION="0.1.0"
## 当前的日期、日期时间
DATE=`date +%Y%m%d`
DATETIME=`date +%Y%m%d`_`date +%H%M%S`
## 代理地址
PROXY_URL=$1
# 相关方法
## 帮助信息
help () {
echo 'Usage: sp 代理URL'
echo '参数说明:'
echo ' $1 代理URL'
echo '示例:'
echo ' 使用 192.168.0.100:7890 作为代理: sp 192.168.0.100:7890'
}
## 版本号
version () {
echo 'sp '$version
}
## 设置 systemd 代理
setSystemdProxy () {
echo '------------------------------ 开始设置系统代理 /etc/systemd/system.conf.d/proxy.conf ... ------------------------------'
mkdir -p /etc/systemd/system.conf.d/
echo '[Manager]' >> /etc/systemd/system.conf.d/proxy.conf
echo 'DefaultEnvironment="HTTP_PROXY=http://'$PROXY_URL'"' >> /etc/systemd/system.conf.d/proxy.conf
echo 'DefaultEnvironment="HTTPS_PROXY=http://'$PROXY_URL'"' >> /etc/systemd/system.conf.d/proxy.conf
echo 'DefaultEnvironment="FTP_PROXY=http://'$PROXY_URL'"' >> /etc/systemd/system.conf.d/proxy.conf
echo 'DefaultEnvironment="NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,10.20.0.0/16,192.168.0.0/16,.svc,.cluster.local"' >> /etc/systemd/system.conf.d/proxy.conf
systemctl daemon-reexec
echo '------------------------------ 系统代理设置完成! ------------------------------'
}
## 设置用户代理
setUserProxy () {
echo '------------------------------ 开始设置用户代理 /etc/sysconfig/proxy ... ------------------------------'
cp -rpf /etc/sysconfig/proxy /etc/sysconfig/proxy.bak.$DATE
sed -i 's#PROXY_ENABLED="no"#PROXY_ENABLED="yes"#g' /etc/sysconfig/proxy
sed -i 's#HTTP_PROXY=""#HTTP_PROXY="http://'$PROXY_URL'"#g' /etc/sysconfig/proxy
sed -i 's#HTTPS_PROXY=""#HTTPS_PROXY="http://'$PROXY_URL'"#g' /etc/sysconfig/proxy
sed -i 's#FTP_PROXY=""#FTP_PROXY="http://'$PROXY_URL'"#g' /etc/sysconfig/proxy
source /etc/sysconfig/proxy
echo '------------------------------ 用户代理设置完成! ------------------------------'
}
## 设置命令行代理
setShellProxy () {
echo '------------------------------ 开始设置命令行代理 /etc/profile 和 ~/.bashrc ... ------------------------------'
cp -rpf /etc/profile /etc/profile.bak.$DATE
echo '# PROXY Env Begin' >> /etc/profile
echo 'export http_proxy="http://'$PROXY_URL'"' >> /etc/profile
echo 'export https_proxy="http://'$PROXY_URL'"' >> /etc/profile
echo 'export ftp_proxy="http://'$PROXY_URL'"' >> /etc/profile
echo 'export no_proxy="localhost,127.0.0.1,10.96.0.0/12,10.20.0.0/16,192.168.0.0/16,.svc,.cluster.local"' >> /etc/profile
echo '# PROXY Env End' >> /etc/profile
source /etc/profile
cp -rpf ~/.bashrc ~/.bashrc.bak.$DATE
echo '# PROXY Env Begin' >> ~/.bashrc
echo 'export http_proxy="http://'$PROXY_URL'"' >> ~/.bashrc
echo 'export https_proxy="http://'$PROXY_URL'"' >> ~/.bashrc
echo 'export ftp_proxy="http://'$PROXY_URL'"' >> ~/.bashrc
echo 'export no_proxy="localhost,127.0.0.1,10.96.0.0/12,10.20.0.0/16,192.168.0.0/16,.svc,.cluster.local"' >> ~/.bashrc
echo '# PROXY Env End' >> ~/.bashrc
source /etc/profile
echo '------------------------------ 命令行代理设置完成! ------------------------------'
}
## 设置代理
sp () {
echo '===================================================================================================='
echo `date +%Y-%m-%d` `date +%H:%M:%S`
echo '============================== 开始配置代理 ' $PROXY_URL ' ...... =============================='
setSystemdProxy
setUserProxy
setShellProxy
echo '============================== '$PROXY_URL' 代理配置成功!!! =============================='
echo `date +%Y-%m-%d` `date +%H:%M:%S`
echo '===================================================================================================='
}
# 执行方法
case $1 in
help)
help
;;
version)
version
;;
*)
sp
;;
esac