如何解决在树莓派上使用crontab从域的文本文件中调度pihole黑名单
我正在尝试编辑crontab以便为pi孔配置安排特定域的预定块。
我的设置是我有一个文件:'blocklist.txt',其中包含以下域的列表:
instagram.com
facebook.com
newssite.com
并且我正在使用以下内容来使其与xargs一起使用。我采用了普通版本并将其转换为绝对路径,以便可以在cron中使用。我还尝试将其写到/home/pi/cron.log中的文件中,该文件只是为了捕获输出并查看发生了什么。那里也没有更新。
46 17 * * * /usr/bin/xargs -a /home/pi/blocklist.txt /usr/local/bin/pihole --wild &>/home/pi/cron.log
这在我的普通shell中运行并更新日志等时完全可以正常工作,但是当我尝试为几分钟计划一次cron作业时却不起作用。
也许我的路径或调度缺少某些东西?
我已经将raspi-config中的时区转换为我的时区。
解决方法
我的解决方案当前不从文件读取,但是与您要查找的内容非常接近。这是blog post with lots of details,但下面是核心摘要:
block.sh:
#!/bin/bash
blockDomains=(facebook.com www.facebook.com pinterest.com www.pinterest.com)
for domain in ${blockDomains[@]}; do
pihole -b $domain
done
allow.sh:
#!/bin/bash
blockDomains=(facebook.com www.facebook.com pinterest.com www.pinterest.com)
for domain in ${blockDomains[@]}; do
pihole -b -d $domain
done
允许在以下脚本上执行:
chmod +x /home/pi/Documents/block.sh
chmod +x /home/pi/Documents/allow.sh
晚上9点后阻止,早上6点后允许。 crontab -e:
0 21 * * * bash -l -c '/home/pi/Documents/block.sh' | logger -p cron.info
0 6 * * * bash -l -c '/home/pi/Documents/allow.sh' | logger -p cron.info
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。