我正在尝试实现一种配置机制,允许在某个项目中通过 svn 部署一个 cron 配置。
我立即想到我应该做的是将 /etc/cron.d/ 中的符号链接创建到我项目的 cron 文件(该文件又由 vcs 控制),但这似乎不起作用。
我发现一些旧的论坛消息提到不支持符号链接,而其他人则表示支持。是哪个?
有没有其他方法或任何其他好方法来实现这一目标?
我一直在谷歌上徒劳地搜索 cron 和 anacron 如何协同工作的一般解释。在这一点上,手册页对我来说有点太深入了。
我很困惑,因为我向 crontab 添加了任务,这有效,但是当我从 crontab 中删除它们时,它们仍然在 anacron 下运行。我在 /etc/cron.daily 中看到了任务,但我不确定它们是如何到达那里的。cron 总是在我的系统上运行,但不是 anacron。其实我看到 anacron 是由 cron 启动的!
基本上我想要一个关于如何添加和删除任务的用户级介绍,因为告诉你编辑 crontab 的易于搜索的答案并不完整。一个教程的链接就可以了。
我不断收到 Weir cron 工作,但我不知道他们在做什么。我通常发出 kill -9 来阻止它们。它们占用了我 100% 的 CPU,并且可以运行数天,直到我检查为止。有谁知道这是什么意思?
sudo crontab -l
0 0 */3 * * /root/.firefoxcatche/a/upd>/dev/null 2>&1
@reboot /root/.firefoxcatche/a/upd>/dev/null 2>&1
5 8 * * 0 /root/.firefoxcatche/b/sync>/dev/null 2>&1
@reboot /root/.firefoxcatche/b/sync>/dev/null 2>&1
#5 1 * * * /tmp/.X13-unix/.rsync/c/aptitude>/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
截至昨天 7/24/2019,我正在运行 Ubuntu 18 LTS 服务器
更新
我感谢所有的反馈。我已经断开了所有数据和应用程序驱动器的连接,因为唯一受影响的是操作系统驱动器,至少我正确地做了那种事情。我将进行完整的重建,使用更多的安全性和更安全的方法。
Ubuntu@reboot在 crontab 中支持吗?
我发现文档表明它受支持,但网络聊天断言它不是。
我无法使该@reboot部分工作。“午夜之后”部分工作正常。
这是我的测试示例/etc/crontab:
$ cat /etc/crontab
# /etc/crontab: system-wide crontab
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 …Run Code Online (Sandbox Code Playgroud) 我每天创建 3 个 cron 作业来运行。
下面是放在 etc/cron.daily 中的三个
猎手.sh
#!/bin/sh
(
rkhunter --versioncheck
rkhunter --update
rkhunter --cronjob --report-warnings-only
) | mail -s 'rkhunter Daily Run (my server)' me@email.com
Run Code Online (Sandbox Code Playgroud)
chkrootkit.sh
#!/bin/bash
chkrootkit | mail -s "chkrootkit Daily Run (my server)" me@email.com
Run Code Online (Sandbox Code Playgroud)
日志文件
#!/bin/sh
(
logwatch
) | mail -s 'logwatch Daily Log (my server)' me@email.com
Run Code Online (Sandbox Code Playgroud)
我当然用我的电子邮件替换了 me@email.com。
如果我手动运行这个 cronjob 它工作正常 ./nameoffile.sh
但它不是每天运行,可能是什么原因或我如何检查这个?
我有一个看起来像这样的 crontab 文件:
* * * * * /home/abliskovs/update/update.sh
但是,当我检查系统日志以获取作业已运行的证据时,没有任何迹象表明它曾经运行过。我如何检查它是否正在运行?
crontab -l 输出以下内容:
* * * * * /home/abliskovs/update/update.sh
我需要从 Firefox 运行 Java 小程序。问题是,我需要从 cron 运行这个 Firefox。如果我从命令行运行并且它工作正常,但是当将命令放入 cron 时它失败了:
*/1 * * * * firefox http://domain.com/iqms/packetloss/iqmspacket2.html
Run Code Online (Sandbox Code Playgroud) [this] 是关于查看当前正在运行的 cron 进程的问题吗?
是的
手动终止进程的一种方法是使用 pkill
我曾考虑过 pkill/killall,但我在 crontab 文件中的一些命令分别是!这意味着完成一个命令后,将启动下一个命令!例如:
sudo crontab -e
00 10 * * * /usr/bin/wget LINK ; shutdown -h now
Run Code Online (Sandbox Code Playgroud)
所以,如果我杀了wget,电脑就会断电!!!-> 我想完全杀死一个 cron 任务,而不是它的一部分!
下一个pkill问题:脚本呢?(我已经导入了一些 bash 脚本crontab -e)-->sudo pkill ???
我正在开发一个创建大日志文件的程序。
我想用 logrotate 处理它。
这是我的配置/etc/logrotate.d/:
/var/log/myproject.log {
hourly
maxsize 1
rotate 6
missingok
notifempty
compress
nocreate
copytruncate
su www-data www-data
}
Run Code Online (Sandbox Code Playgroud)
(/var/log/myproject.log有主人www-data)
命令
sudo logrotate -vf /etc/logrotate.conf
Run Code Online (Sandbox Code Playgroud)
和
sudo logrotate -vf /etc/logrotate.d/myproject
Run Code Online (Sandbox Code Playgroud)
正确旋转日志。
但是,调用它们之后/etc/cron.hourly是空的。这意味着 logrotate 不是每小时调用一次。
我保证有logrotate脚本/etc/cron.daily吗?
脚本是否检查日志文件的更新频率。即,如果我在我设置的设置中有logrotate脚本/etc/cron.daily和某些日志文件,将每天或每周轮换?X/etc/logrotate.d/weeklyX
我可以直接复制粘贴/etc/cron.daily/logrotate到/etc/cron.hourly/吗?可以剪切粘贴吗?
我应该将0anacron文件添加到/etc/cron.hourly/?
我应该做其他事情来启用每小时日志记录吗?
我知道我可以shutdown -h hh:mm在终端窗口中使用 (sudo?)来关闭系统,但是登录的用户是 kiosk 用户,它以终端(或除 Firefox 以外的任何窗口)的方式锁定,就此而言)无法打开。
我的问题是:
有没有办法在不打开终端窗口的情况下做到这一点?我已经阅读了有关 cron 的内容,但无法完全解决。
如何根据日期更改关闭时间?