阅读量:0
文章目录
一、概述
我们在安装vnStat、wondershaper后,便想通过实际的数据收发来进行测试。
该怎么做呢?
二、实现方式一:编码
1. 主要流程
2. 核心代码
ScheduleJob.java
import java.util.Arrays; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; import lombok.extern.slf4j.Slf4j; /** * * ScheduleJob * * @author 00fly * @version [版本号, 2022年11月30日] * @see [相关类/方法] * @since [产品/模块版本] */ @Slf4j @Component public class ScheduleJob { @Autowired RestTemplate restTemplate; /** * 向本机外网发送数据,验证是否流量收发 */ @Scheduled(fixedDelay = 60000L) public void run() { try { log.info("run..."); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.MULTIPART_FORM_DATA); headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); Resource resource = new ClassPathResource("data/nginx-1.25.3.tar.gz"); params.add("file", resource); params.add("id", "1"); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers); String uploadUrl = "http://124.71.129.204:8083/post"; restTemplate.postForEntity(uploadUrl, requestEntity, String.class); } catch (Exception e) { log.error(e.getMessage(), e); } } }
3. 代码部署
项目目录执行打包
mvn clean package
将target目录springboot-http.jar文件,拷贝到124.71.129.204
服务器,运行
#方式1 java -jar springboot-http.jar&exit #方式2 java -jar springboot-http.jar& #随后输入exit或logout退出 #方式3 nohup java -jar springboot-http.jar&
三、实现方式二:脚本
1. 脚本编写
需要提前准备文件/work/jar-run/nginx-1.25.3.tar.gz
新建/work/jar-run/send.sh
#!/bin/bash curl http://124.71.129.204:8083/post -F "file=@/work/jar-run/nginx-1.25.3.tar.gz" >> /work/jar-run/send.log 2>&1
2. 新增crontab任务
#查看 crontab -l #编辑 crontab -e #新增如下内容,每分钟执行一次sh脚本 */1 * * * * sh /work/jar-run/send.sh
四、查看结果
有任何问题和建议,都可以向我提问讨论,大家一起进步,谢谢!
-over-