设置 apt-mirror 后出现错误

设置 apt-mirror 后出现错误

我已经按照以下方法安装了 apt-mirror本指南但随着时间的流逝,我做了一些细微的改变,这让我不确定如何通过 来安排这件事的最后一步cron

我决定将下载的文件放在文件夹结构中,/var/mirror/...因为这里有足够的空间,并且我将 apt-mirror 配置更改如下:

set base_path /var/mirror
set mirror_path $base_path/www
set var_path     $base_path/var
set skel_path    $base_path/skel
set postmirror_script $var_path/postmirror.sh

如果我运行sudo apt-mirror它就会开始下载(40Gb,白天不可能),所以想让它在夜间运行。

该文件/etc/cron.d/apt-mirror包含:

30 01 * * *  apt-mirror  /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

这就是我需要帮助的地方。如果我运行sudo apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log它,它会因配置错误而退出:

apt-mirror: invalid line in config file (3: =pod ...) at /usr/bin/apt-mirror line 297, <CONFIG> line 3.

我认为这是因为它试图用作/usr/bin/apt-mirror配置文件(无法apt-mirror --help工作,并且它给了我类似的错误!)阅读其他文档和指南,似乎是/usr/bin/apt-mirror为了设置下载文件的目标位置,但这不是我想要的。我尝试将其更改为,/var/mirror/www但它仍然给了我配置错误。

因此,有人可以帮助我了解命令 withincron实际上是在做什么,以便我可以进行适当的格式化,或者有人可以确认我是否可以只使用apt-mirrorwithin ,cron因为它似乎可以在命令行中工作?

答案1

我遇到了同样的问题,经过几次尝试和错误后,我发现我有 2 个用于 apt 镜像的 cron 计划。

第一个出现错误的是用户“apt-mirror”的 crontab @1900h(邮件时间),第二个没有出现任何错误,位于 /etc/cron.d/apt-mirror @0400h。在我禁用 1900h 作业“crontab -u apt-mirror -e”后,错误消失了。

希望这对其他人有帮助。

顺便说一下,/etc/cron.d/apt-mirror 文件中的语法与 crontab 文件中的语法略有不同

/usr/bin/apt-mirror

是 apt-mirror 脚本本身和

apt-mirror

在脚本是用户名之前,cron 必须以模拟身份运行脚本

30 01 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

我认为这是因为它试图使用 /usr/bin/apt-mirror 作为配置文件

相关内容