代理ip怎么用?Linux定时任务+cron自动切换出口,一篇就搞定
还在为“IP被封”“爬虫限速”抓狂?把代理ip塞进Linux,再让cron帮你 hourly 换出口,稳定到飞起。下面手把手,咖啡别洒。
一、先整明白:代理IP到底能干啥
- 隐藏真实IP,防封账号
- 突破地域限制,抢鞋抢票
- 分布式爬虫,负载均衡
一句话:把请求扔给代理,服务器看到的是代理的脸,不是你。
二、挑对代理,别省那几块钱
免费代理=公共厕所,谁都能上,三分钟就挂。
建议直接买高匿住宅IP,支持socks5/https,Linux 用 curl、wget、requests 都能接。
拿到手一般长这样:
协议://账号:密码@IP:端口
例如:socks5://user:pass@103.214.68.12:7890
三、Linux命令行临时用代理,30秒验证
export ALL_PROXY=socks5://user:pass@103.214.68.12:7890
curl ipinfo.io
返回的IP变了?OK,代理活得好好的。
想取消:unset ALL_PROXY
这一步先玩熟,后面让脚本自动干。
四、写个自动换IP脚本,取名proxy_switch.sh
!/bin/bash
读取代理池文件,一行一个代理
POOL=/etc/proxy_pool.txt
随机抽一条
PROXY=$(shuf -n 1 $POOL)
写入环境变量文件
echo “export ALL_PROXY=$PROXY” > /etc/proxy_env.sh
让当前shell生效
source /etc/proxy_env.sh
可选:重启你的爬虫服务
systemctl restart myspider.service
保存后 chmod +x proxy_switch.sh
先把代理池填好,每行一个:
socks5://user:pass@103.214.68.12:7890
https://user:pass@202.61.88.55:8080
……
五、cron定时,hourly自动切
crontab -e
0 /usr/local/bin/proxy_switch.sh >> /var/log/proxy_switch.log 2>&1
整点执行,日志留底,IP想挂都难。
想更猛?五分钟一次:/5 *
注意:代理池要定期更新,挂了的IP及时踢掉,别让脚本抽到“死签”。
六、进阶玩法
- 多网卡分流:把代理绑定到特定路由表,国内外流量分道扬镳。
- API动态取IP:脚本里直接curl供应商接口,实时提取,省得手动填池。
- 失败重试:curl加–retry 3 –retry-delay 2,IP超时自动再抽一条。
- Docker容器:把proxy_env.sh挂进容器,宿主机切IP,容器无痛跟随。
七、常见坑
• 环境变量没继承:cron最小环境,脚本里一定source /etc/proxy_env.sh
• 特殊字符密码:@、#、! 要urlencode,否则curl炸给你看。
• 防火墙出口限制:VPS厂商可能封闭1080、7890,买之前问清楚。
• 日志暴涨:logrotate记得配,别让硬盘哭。
八、一条龙命令,复制就能跑
安装依赖
yum install -y curl crontabs || apt install -y curl cron
创建目录
mkdir -p /usr/local/bin /etc
把脚本和池子丢进去
nano /usr/local/bin/proxy_switch.sh
nano /etc/proxy_pool.txt
给权限
chmod +x /usr/local/bin/proxy_switch.sh
启动定时
systemctl enable crond && systemctl start crond
crontab -e # 贴入上面的定时行
完事,躺着换IP。
九、写在最后
代理IP+Linux+cron,成本低过一杯奶茶,却能让爬虫、抢票、SEO测试稳如老狗。脚本扔服务器就跑,再也不用半夜起床手动切IP。
采购代理IP请添加微信客户经理:x31471626
评论0