docker搭建私人youtube下载器
GitHub项目地址:https://github.com/alexta69/metube?tab=readme-ov-file
使用 Docker 运行
docker run -d -p 8081:8081 -v /path/to/downloads:/downloads ghcr.io/alexta69/metube
使用 docker-compose 运行
version: "3"
services:
metube:
image: ghcr.io/alexta69/metube
container_name: metube
restart: unless-stopped
ports:
- "8081:8081"
volumes:
- /path/to/downloads:/downloads
因为这个项目的所有下载文件都会到vps的存储中,所以对于一些小存储的机器非常不友好,对此我写了一个定时清理downloads目录下文件的脚本。
#!/bin/bash
# 每15分钟清空 /path/to/downloads 目录下的所有文件
DOWNLOADS_DIR="/path/to/downloads"
LOG_FILE="/root/log.txt"
# 后台执行循环任务
while true; do
# 检查目录是否存在
if [ -d "$DOWNLOADS_DIR" ]; then
# 遍历目录下的所有文件
for file in "$DOWNLOADS_DIR"/*; do
if [ -f "$file" ]; then
# 记录删除文件的日志
echo "$(date '+%Y-%m-%d %H:%M:%S') 删除文件: $file" >> "$LOG_FILE"
# 删除文件
rm -f "$file"
# 查找并终止 ffmpeg 进程,防止堆叠
pkill ffmpeg
fi
done
else
echo "目录不存在: $DOWNLOADS_DIR"
fi
# 等待15分钟
sleep 900
done
首先我们需要自己创建log文件
vim /root/log.txt
记得给脚本执行权限
chmod +x clear_and_schedule.sh
然后,使用 nohup 命令在后台运行这个脚本,保证我们断开ssh它也可以正常运行
sudo nohup ./clear_and_schedule.sh &
如果你想停止这个脚本,首先找到它的Pid然后kill即可
ps aux | grep clear_and_schedule.sh
当然还有其他方法可以让系统在后台运行这个脚本
以下是使用 cron 的示例:
编辑 cron 任务:
crontab -e
添加如下条目以每15分钟执行一次脚本:
*/15 * * * * /path/to/clear_and_schedule.sh
打赏: 支付宝
本人所有文章均为技术分享,均用于防御为目的的记录,所有操作均在实验环境下进行,请勿用于其他用途,否则后果自负。 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
懒得搭建的可以直接使用我搭建的,因为是拿闲置小鸡搭建的,所以配置并不高。
我这个纯为爱发电,希望DD哥手下留情。
地址:https://tube.shjiang.com/