AI创想

标题: 老 MacBook 别扔!装 Linux 部署 OpenClaw 变身 24h 服务器 [打印本页]

作者: 米落枫    时间: 昨天 22:48
标题: 老 MacBook 别扔!装 Linux 部署 OpenClaw 变身 24h 服务器
作者:一键难忘

10.1 创建部署脚本
  1. #!/bin/bashLOG_FILE="/var/log/macbook-openclaw-deploy.log"log(){echo"[$(date'+%Y-%m-%d %H:%M:%S')] $1">>$LOG_FILE}check_hardware(){
  2.     log "Checking hardware compatibility..."# 检查 CPUlocalcpu_model=$(lscpu |grep'Model name'|awk -F: '{print $2}'|xargs)
  3.     log "CPU Model: $cpu_model"# 检查内存localmem_total=$(free -h |grep Mem |awk'{print $2}')
  4.     log "Total Memory: $mem_total"# 检查存储localdisk_total=$(df -h / |tail -1 |awk'{print $2}')
  5.     log "Total Disk: $disk_total"# 检查网络localnetwork_interfaces=$(iplink show |grep -E '^[0-9]+:'|awk'{print $2}'|cut -d: -f1)
  6.     log "Network Interfaces: $network_interfaces"}install_docker(){
  7.     log "Installing Docker..."# 安装 Dockercurl -fsSL https://get.docker.com -o get-docker.sh
  8.     sudosh get-docker.sh
  9.    
  10.     # 启动 Docker 服务sudo systemctl start dockersudo systemctl enabledocker# 将当前用户添加到 docker 组sudousermod -aG docker$USER
  11.    
  12.     log "Docker installed successfully"}deploy_openclaw(){
  13.     log "Deploying OpenClaw..."# 创建工作目录mkdir -p /opt/openclaw
  14.     cd /opt/openclaw
  15.    
  16.     # 克隆 OpenClaw 仓库git clone https://github.com/openclaw/openclaw.git
  17.    
  18.     # 进入项目目录cd openclaw
  19.    
  20.     # 复制配置文件cp .env.example .env
  21.    
  22.     # 创建数据目录sudomkdir -p /data/openclaw
  23.    
  24.     # 启动所有服务docker-compose up -d
  25.    
  26.     # 等待服务启动sleep30# 验证服务localhealth_check=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/api/health)if["$health_check"="200"];then
  27.         log "OpenClaw deployed successfully"return0else
  28.         log "OpenClaw deployment failed"return1fi}configure_battery(){
  29.     log "Configuring battery protection..."# 安装 TLPsudoaptinstall -y tlp tlp-rdw
  30.    
  31.     # 启动 TLP 服务sudo systemctl enable tlp
  32.     sudo systemctl start tlp
  33.    
  34.     # 配置电池充电限制sudosed -i 's/^START_CHARGE_THRESH_BAT0=.*/START_CHARGE_THRESH_BAT0=75/' /etc/tlp.conf
  35.     sudosed -i 's/^STOP_CHARGE_THRESH_BAT0=.*/STOP_CHARGE_THRESH_BAT0=80/' /etc/tlp.conf
  36.    
  37.     log "Battery protection configured"}configure_remote_management(){
  38.     log "Configuring remote management..."# 启用 SSHsudoaptinstall -y openssh-server
  39.     sudo systemctl enablesshsudo systemctl start ssh# 配置防火墙sudo ufw allow 22/tcp
  40.     sudo ufw allow 8080/tcp
  41.     sudo ufw --force enable
  42.    
  43.     log "Remote management configured"}configure_monitoring(){
  44.     log "Configuring monitoring..."# 安装监控工具sudoaptinstall -y htop iotop nethogs
  45.    
  46.     # 创建监控脚本cat<<'EOF'> /usr/local/bin/macbook-monitor.sh
  47. #!/bin/bash
  48. LOG_FILE="/var/log/macbook-monitor.log"
  49. log() {
  50.     echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> $LOG_FILE
  51. }
  52. check_cpu() {
  53.     local cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
  54.     log "CPU Usage: ${cpu_usage}%"
  55. }
  56. check_memory() {
  57.     local mem_usage=$(free | grep Mem | awk '{printf("%.0f"), $3/$2 * 100.0}')
  58.     log "Memory Usage: ${mem_usage}%"
  59. }
  60. check_disk() {
  61.     local disk_usage=$(df -h /data | tail -1 | awk '{print $5}' | cut -d'%' -f1)
  62.     log "Disk Usage: ${disk_usage}%"
  63. }
  64. check_battery() {
  65.     local battery_status=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep 'state' | awk '{print $2}')
  66.     local battery_percentage=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep 'percentage' | awk '{print $2}')
  67.     log "Battery Status: $battery_status, $battery_percentage"
  68. }
  69. check_openclaw() {
  70.     local health_check=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/api/health)
  71.     log "OpenClaw Health: $health_check"
  72. }
  73. main() {
  74.     check_cpu
  75.     check_memory
  76.     check_disk
  77.     check_battery
  78.     check_openclaw
  79. }
  80. main
  81. EOF# 添加执行权限sudochmod +x /usr/local/bin/macbook-monitor.sh
  82.    
  83.     # 配置定时任务(crontab -l 2>/dev/null;echo"*/15 * * * * /usr/local/bin/macbook-monitor.sh")|crontab -
  84.    
  85.     log "Monitoring configured"}test_services(){
  86.     log "Testing services..."# 测试 OpenClawlocalopenclaw_test=$(curl -s http://localhost:8080/api/health)
  87.     log "OpenClaw Test: $openclaw_test"# 测试 SSHlocalssh_test=$(systemctl is-active ssh)
  88.     log "SSH Test: $ssh_test"# 测试 Dockerlocaldocker_test=$(systemctl is-active docker)
  89.     log "Docker Test: $docker_test"}main(){
  90.     log "=== MacBook OpenClaw Deployment Started ==="
  91.    
  92.     check_hardware
  93.     install_docker
  94.     deploy_openclaw
  95.     configure_battery
  96.     configure_remote_management
  97.     configure_monitoring
  98.     test_services
  99.    
  100.     log "=== MacBook OpenClaw Deployment Completed ==="}
  101. main
复制代码
添加执行权限:
  1. sudochmod +x /usr/local/bin/macbook-openclaw-deploy.sh
复制代码
十一、总结

通过以上步骤,我们成功将老款 MacBook 改造为运行 OpenClaw 的 24 小时服务器。
11.1 主要优势

11.2 注意事项

11.3 后续扩展

可以进一步扩展功能:
希望这篇教程能帮助大家成功将老款 MacBook 改造为 OpenClaw 服务器!
(, 下载次数: 0)





原文地址:https://blog.csdn.net/weixin_52908342/article/details/158184087




欢迎光临 AI创想 (https://llms-ai.com/) Powered by Discuz! X3.4