#!/bin/bash # 在ssh中执行:bash <(curl -s https://static.imily.net/sh/sftpgo/install.sh) "$(pwd)" if [ -n "$1" ]; then cd $1 else cd $(dirname $0) fi # 创建sftpgo文件夹 mkdir sftpgo cd sftpgo # 如果存在sftpgo进程,杀死 $pid = ps -ef | grep sftpgo | grep -v grep | awk '{print $2}' if [ -n "$pid" ]; then kill -9 $pid fi # 如果存在sftpgo.service文件,删除 if [ -f "/etc/systemd/system/sftpgo.service" ]; then systemctl stop sftpgo.service rm -rf /etc/systemd/system/sftpgo.service fi # 下载sftpgo_v2.6.2_linux_x86_64.tar.xz curl -o ./sftpgo_v2.6.2_linux_x86_64.tar.xz https://static.imily.net/sh/sftpgo/sftpgo_v2.6.2_linux_x86_64.tar.xz # 解压sftpgo_v2.6.2_linux_x86_64.tar.xz 到当前文件夹 tar -xvf ./sftpgo_v2.6.2_linux_x86_64.tar.xz chmod +x ./sftpgo # 下载sftpgo.service文件到当前文件夹 curl -o ./sftpgo.service https://static.imily.net/sh/sftpgo/sftpgo.service # 修改sftpgo.service文件,替换文件中的所有{{work_dir}}为当前目录,注意不是替换work_dir, 而是{{work_dir}} sed -i "s/{{work_dir}}/$(pwd | sed 's/\//\\\//g')/g" ./sftpgo.service # 复制到/etc/systemd/system cp ./sftpgo.service /etc/systemd/system/ # 重新加载systemd配置 systemctl daemon-reload # 启动sftpgo服务 systemctl start sftpgo.service clear echo "sftpgo安装完成" rm -rf ./sftpgo_v2.6.2_linux_x86_64.tar.xz rm -rf ./sftpgo.service # 如果进程没有启动,显示:"sftpgo启动失败",否则显示:"当前运行进程PID:xxx" ps -ef | grep sftpgo | grep -v grep | awk '{print "当前运行进程PID:" $2}' || echo "sftpgo启动失败"