从命令行到持续集成:将 http-status-check 接入 GitHub Actions,7x24小时自动监控网站HTTP状态码

从命令行到持续集成:将 http-status-check 接入 GitHub Actions,7x24小时自动监控网站HTTP状态码 从命令行到持续集成将 http-status-check 接入 GitHub Actions7x24小时自动监控网站HTTP状态码【免费下载链接】http-status-checkCLI tool to crawl a website and check HTTP status codes项目地址: https://gitcode.com/gh_mirrors/ht/http-status-checkhttp-status-check是一款 PHP 命令行爬虫工具可以扫描网站上的所有链接并逐一检查 HTTP 状态码快速揪出 404、500 等坏链。把它接入GitHub Actions后无需服务器、零成本即可实现7x24 小时自动监控网站 HTTP 状态码——定时任务自动巡检发现坏链立刻在流水线中亮红灯持续集成从此成为你的网站体检医生。为什么选择它对于新手来说手动巡检网站链接既费时又容易遗漏✅无需自建服务器GitHub Actions 免费额度足够个人项目使用✅定时自动运行最短可每小时自动巡检一次7x24 小时不间断✅失败即时暴露一旦扫描发现坏链工作流直接失败并高亮显示问题 URL✅零运维成本不需要部署 cron 任务不需要任何第三方监控服务核心关键词一览http-status-check接入GitHub Actions/HTTP 状态码自动监控/网站坏链定时检测/7x24 持续监控一、30秒上手先会用命令行 在接入 CI 之前先确认工具本身能跑通。工具要求 PHP 8.1 及以上见 composer.json 中的依赖声明一条 Composer 命令即可全局安装composer global require spatie/http-status-check然后执行最基础的一次扫描http-status-check scan https://example.com控制台会逐行输出每个链接的状态码扫描结束后还会打印一份按状态码分组的汇总报告由 src/CrawlLogger.php 负责渲染。常用参数速查表这些参数在后面的 CI 配置中都会用到建议先熟悉参数作用默认值--concurrency并发连接数加快扫描10--output把非 2xx/3xx 的链接写入文件无--dont-crawl-external-links只爬站内链接忽略外部链接否--timeout单个请求超时秒数10--ignore-robots忽略 robots.txt 限制否--auth基础认证user:pass无参数定义与默认值均维护在 src/ScanCommand.php想扩展更多请求头时可以直接阅读该文件。二、GitHub Actions 接入步骤 ⚡只需在项目根目录新建一个工作流文件让 GitHub Actions 每小时帮你跑一次完整体检。第 1 步创建工作流文件在仓库中新建.github/workflows/http-status-check.yml。第 2 步配置定时触发name: HTTP Status Check on: schedule: - cron: 0 * * * * # 每小时整点自动巡检 workflow_dispatch: # 支持手动触发随时体检第 3 步安装并运行 http-status-checkjobs: scan: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 - name: Setup PHP uses: shivammathur/setup-phpv2 with: php-version: 8.2 - name: Scan website run: | composer global require spatie/http-status-check ~/.config/composer/vendor/bin/http-status-check \ scan https://your-site.com --dont-crawl-external-links第 4 步推送到仓库提交后打开仓库的 Actions 标签页即可看到每小时自动生成的巡检记录。三、进阶让坏链真正红灯报警 默认情况下即使扫出 404 坏链命令也会正常结束工作流显示绿色。想让监控较真可以用--output参数把坏链写入文件再检查文件是否为空- name: Scan and fail on broken links run: | composer global require spatie/http-status-check ~/.config/composer/vendor/bin/http-status-check \ scan https://your-site.com --outputbroken.txt if [ -s broken.txt ]; then echo ::error::发现坏链 cat broken.txt exit 1 fi这样一旦发现非 2xx/3xx 链接工作流立即失败broken.txt中的内容会以醒目的红色错误输出格式参考 tests/fixtures/output.txt例如404 Not Found - http://your-site.com/notExists一眼定位问题。四、实用小贴士 监控频率GitHub Actions 定时任务最短间隔为 1 小时对大多数站点足够更精细的需求可结合 Webhook 手动触发控制扫描范围加上--dont-crawl-external-links可避免误判第三方站点的临时故障让告警更纯净大站提速适当调高--concurrency如 20缩短单次巡检耗时敏感站点需要登录的页面可用--auth传入凭据建议配合 Actions Secrets 使用避免明文写在工作流里总结 用不到 30 行 YAML你就把http-status-check从一条命令行命令升级成了 7x24 小时自动值守的 HTTP 状态码监控方案——定时巡检、坏链红灯报警、全程免费。下次再发现用户投诉链接打不开巡检记录里早就有答案了。【免费下载链接】http-status-checkCLI tool to crawl a website and check HTTP status codes项目地址: https://gitcode.com/gh_mirrors/ht/http-status-check创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考