之前在VPS和树莓派均安装过aria2做下载机
有些步骤需要使用以下指令重新加载aria2配置启动

[root@centos-rpi3 ~]# aria2c --conf-path=$CONF_PATH/aria2.conf -D

比如使用脚本更新配置文件的bt-tracker,然后使用corntab执行以上命令重新加载配置并启动
而最近在树莓派上想换下RPC的密码,使用以上指令后发现配置没有更新
最后发现需要kill掉aria2的进程才能加载到新的配置

那像定时更新bt-tracker的操作现在的做法就无法实现了,因为无法得知每次arai2c的pid,不如试下把其注册为服务
首先了解到服务文件的保存目录是/usr/lib/systemd/system
新增一个aria2c的文件

[root@centos-rpi3 ~]# vim /usr/lib/systemd/system/aria2d.service

然后写入以下内容

[Unit]
#描述
Description=Aria2 Client Service 
After=network.target

[Service]
#启动类型
Type=forking 
User=nobody
Restart=on-failure
RestartSec=5s
#systemctl start xxx.serivce时执行什么
ExecStart=/usr/bin/aria2c --conf-path=$CONF_PATH/aria2.conf -D
#systemctl stop xxx.serivce时执行什么 这里能通过$MAINPID获取到pid
ExecStop=/bin/kill $MAINPID
ExecReload=/usr/bin/aria2c --conf-path=$CONF_PATH/aria2.conf -D

[Install]
WantedBy=multi-user.target

保存后启动

[root@centos-rpi3 ~]# systemctl start aria2d.serivce

此时若对aria2配置文件($CONF_PATH/aria2.conf)进行更改后重启下服务即可,比如之前corntab定时任务

[root@centos-rpi3 ~]# systemctl restart aria2d.serivce

更新:这样做有一个坏处,就是每次重启服务后任务会被清掉,假如corntab是每天早上9点执行,那未完成任务会被清除掉,但已下载的文件会继续被保留,之后有时间再想想解决方案。

标签: none

添加新评论