96SEO 2026-07-31 08:36 14
干运维三年,攒了一堆脚本。

有些是网上抄的。有些是自己写的,反正能用就行。不过,
今天整理一享出来。
每天早上跑一遍,看看服务器有没有问题。
#!老实说,/bin/bash
# check.sh - 服务器巡检
RED='\033;n
echo -e "${RED}警告: 内存使用率 ${MEM_USAGE}% 超过80%${NC}"
fi
# . 磁盘
echo -e "
"
df -h | grep -E '^/dev/'
# 检查磁盘使用率
df -h | grep -E '^/dev/' | while read line;do
USAGE=$
MOUNT=$
if;n
echo -e "${RED}警告: $MOUNT 使用率 ${USAGE}% 超过80%${NC}"
fi
done
# . 网络连接数过高?netstat_check {
local conn_count=$(netstat --tcp --numeric-hosts --programs |
grep ESTABLISHED |
wc --lines)
if;n # 增加此项用于判断连接数异常时触发报警逻辑的阈值
echo "${RED} WARNING : Connection count is high ${NC}"
return 1;else # 若不超过阈值则不做处理并返回正确代码
return;fi,说起来,}
netstat_check && echo " Netstat connection is OK." || echo " Netstat connection is FAILED."
# . 进程状态异常?ps aux --sort=-%cpu|head -
ps aux --sort=-%mem|head -
for svc in nginx mysql redis docker;do
if systemctl is-active --quiet "$svc">/dev/null;n echo "$svc running...";按理说,else echo "$svc stopped!,!",fi;done
日志不清理,磁盘早晚爆。
#!/bin/bash
# clean_logs.sh
LOG_DIRS=(
"/var/log/nginx"
"/var/log/app"
"/data/logs"
)
KEEP_DAYS=7
for dir in "${LOG_DIRS}";do
if,n mkdir-p "$dir";fi # 添加目录存在性检查及创建目录操作
done;for dir in "${LOG_DIRS}";do # 主循环开始处增加了目录存在性验证步骤,并新增了针对旧文件归档压缩操作
cd "$dir";find ./name"*.log*"-mtime +$KEEP_DAYS-exec gzip {} \;
done,不过,if command-v docker>/dev/null;n truncate-s /var/lib/docker/containers/*/*json.log>/dev/null;fi # 增加Docker日志清理功能
journalctl--vacuum-time=7days # 增加journalctl日志清理指令
每天凌晨跑,备份到本地+远程。
#!/bin/bash
DB_HOST=""
DB_USER=""
DB_PASS=""
BACKUP_DIR="/backup/mysql"
DATE=$
mkdir-p BACKUP_DIR &>/dev/null || { exit;老实说,}
DATABASES=`mysql-u$DB_USER-p$DB_PASS-e"SHOW DATABASES;"|grep-v mysql|grep-v information_schema`
for db in DATABASES;do mysqldump-u$DB_USER-p$DB_PASS--routines--triggers$db|gzip>"$BACKUP_DIR"/"$db"_"$DATE".sql.gz;done,其实,REMOTE_HOST="" REMOTE_PORT="" REMOTE_USER="" REMOTE_PATH="/path/to/remote"
if rsync-avzP-e"ssh-p"$REMOTE_PORT""$BACKUP_DIR"/"$REMOTE_USER@REMOTE_HOST":"REMOTE_PATH";n rm-"rf"$BACKUP_DIR/*.sql.gz else exit fi;find BACKUP_DIR-name"*.sql.gz"-mtime +7-delete &>/dev/null || { exit;}
管理多台服务器,一个个登录太麻烦。
#!/bin/bash
SERVERS=(
""
""
)
PASSWORD_FILE="/path/to/password_file"
if ];n touch PASSWORD_FILE chmod PASSWORD_FILE fi;read-p "请输入命令:" CMD while IFS=$'
' read server_line do SERVER_IP=`awk'{print }'` SERVER_NAME=`awk'{print }'` SSH_PWD=`awk'{print }'` sshpass-s${SSH_PWD}"ssh-oStrictHostKeyChecking=no-oUserKnownHostsFile=/dev/nullroot@SERVER_IP-CMD>> output_$.log done
新服务器装环境用。
#!/bin/bash set-e pipefail source /etc/profile.d/*.sh function install_packages { apt update apt install-y build-essential curl wget git tree net-tools iputils-ping telnet sshpass expect openssl nfs-common cmake libssl-dev libcurl4-openssl-dev pkg-config make unzip zip tar gzip rsync htop iotop iperf iperf python python-dev python-setuptools gcc gcc-multilib g++ flex bison libncurses5-dev libssl-dev libxml-parser-perl lrzsz libaio-devel screen vim tmux dnsutils jq bc netcat-openbsd socat tcpdump strace lsof mtr tcptraceroute sysstat p7zip-full locate mlocate logrotate lnav ncdu ipvsadm smartmontools psmisc ntpdate ntp openssh-server cron supervisor sudo ufw failfail failfail failfail failfail failfail failfail failfail failfail failfail failfail failsysvinit-core rsyslog postfix sysfsutils dnsmasq-base avahi-daemon haveged tzdata locales console-setup console-data keyboard-configuration kbd xfonts-base xfonts-utils fontconfig xorg-xrdp xrdpxkbsetxserver-xorg-input-allxserver-xorg-video-fbdexpatlibexpatxfonts-utilslibfontconfiglibfreetypexfce-terminalxfconfthunarthunar-volmanexo-thumbnailerlibfm-gtklxappearancelightdmlightdm-gtk-greeterunattended-upgradesupdate-notifier-commonapt-transport-httpsca-certificatesgnupgagentsoftware-properties-commonufwufwufwufwufwufwufwufwufwufwufwuftunattended-upgradesupdate-notifier-commonapt-transport-httpsca-certificatesgnupgagentsoftware-properties-commonsupervisorsudoautofsntpdntpdntpdntpdntpdntpdntpdntpdfailfailsafefailsafefailsafefailsafefailsafefailsafefailfailsafeautofsrsynchtophyperfineiperffirewall-cmdfirewalldsystemctlrestartfirewalldsystemctlstartfirewalldiptablesiptables-restoreniptables-restoreip6tablesip6tables-restorenftablesnftablesserviceiptables-saveiptablesservicenftablesserviceip6tablesserviceipsetservicesystemctlenablefirewalldsystemctlenableiptablessystemctlenableip6tablessystemctlenableipsetserviceiptablessavefirewalldserviceniptablessavenftablesserviceip6tablessaveipsetservicefirewall-dstartfirewall-denablehttpdhaproxynginxphp-fpmphp-redisredis-servermysqltcp_wrappersrpcbindsshdopenrcsysvinitopenrcsysvinitopenrcsysvinitopenrcsysvinitopenrcrebootrebootrebootrebootrebootrebootlocalectlstartNetworkManagernetworkmanagerservicenetworkmanagerrestartsystemctlrestartnetwork-manager.serviceuseraddaddusergroupaddnewgrpchgrppasswdusermodgroupmoddeluserdelgroupchownchgrppasswdusermodgroupmoddeluserdelgroupchownchgrppasswdusermodgroupmoddeluserdelgroupchownchgrppasswdusermodgroupmoddeluserdelgroupchownchgrp
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback