访问端口执行脚本
目录
访问端口执行脚本
要在访问服务器的特定端口时自动执行一个脚本,你可以使用 xinetd
或 inetd
服务在指定端口监听请求,并在接收到请求时运行脚本。以下是使用 xinetd
的步骤:
步骤 1:安装 xinetd
如果你的系统没有安装 xinetd
,你需要先安装它:
sudo apt-get update sudo apt-get install xinetd
步骤 2:编写脚本
创建一个脚本文件,例如 execute_on_request.sh
:
vim ~/execute_on_request.sh
在脚本文件中添加你想要执行的命令:
#!/bin/bash # 你的命令
echo "Script executed at $(date)" >> /path/to/your/logfile.txt
将 /path/to/your/logfile.txt
替换为实际的日志文件路径。
设置脚本的可执行权限:
chmod +x ~/execute_on_request.sh
步骤 3:配置 xinetd
创建一个新的 xinetd
服务配置文件:
sudo vim /etc/xinetd.d/custom_service
在配置文件中添加以下内容:
service custom_service {
type = UNLISTED
port = 12345
socket_type = stream
protocol = tcp
wait = no
user = your_user_name
server = /bin/bash
server_args =/home/your_user_name/execute_on_request.sh disable = no
}
将以下内容替换为你的实际值:
port
:替换为你希望监听的端口号。your_user_name
:替换为你的用户名。/home/your_user_name/execute_on_request.sh
:替换为你的脚本文件路径。
步骤 4:启动和重启 xinetd
服务
确保 xinetd
服务配置正常,然后重启服务:
sudo service xinetd restart
步骤 5:测试
使用 telnet
或 curl
来测试是否能够触发脚本执行:
telnet localhost 12345
或者:
curl localhost:12345
每次访问端口 12345,脚本 execute_on_request.sh
就会被执行一次。你可以在日志文件中查看执行结果。
这就是通过访问服务器特定端口来自动执行脚本的方法。确保安全性,避免未授权的访问。