分类 默认分类 下的文章

日志保留指定行数

有时 shell 脚本需要把运行结果写入 log,但又不能不限制,于是这个限制最新行数的脚本诞生了

#!/bin/sh
row_number=$(grep -c "" test.log)
delete_number=`expr $row_number - 50`
sed -i "1,${delete_number}d" test.log

自定义启动 rsync 守护

OpenWRT 上面挂了一个 2T 硬盘用来异地备份群晖,需要开启 rsync 守护。
OP 自带的 rsync 配置文件是 /etc/rsyncd.conf,我需要用自己的配置
于是需要先关闭系统自带的 rsync 进程,我脚本如下:

#!/bin/sh
killall rsync
rsync --daemon --config=/mnt/sda3/my.files/rsync/rsyncd.conf

我把这个脚本放进 OP 开机启动项,rsync 进程倒是结束了,但是新的 rsync 进程并没有成功,于是我手动运行它,提示:

failed to lock pid file /var/run/rsyncd.pid: Resource temporarily unavailable

再添加一个 sleep 1

#!/bin/sh
killall rsync
sleep 1
rsync --daemon --config=/mnt/sda3/my.files/rsync/rsyncd.conf

就可以了。

通过新建 service 设置 frp 开机启动

创建 service 服务文件

以 frp client 为例:

sudo nano /etc/systemd/system/frpc.service

内容:

[Unit]
Description=frpc
After=network-online.target

[Service]
Type=simple
WorkingDirectory=/root/frp/
ExecStart=/root/frp/frpc -c /root/frp/frpc.ini
Restart=on-abort
User=root

[Install]
WantedBy=default.target

使用

#刷新服务列表:
systemctl daemon-reload

#设置开机自启
systemctl enable frpc
#关闭开机自启
systemctl disable frpc

#启动服务
systemctl start frpc
#停止服务
systemctl stop frpc