我想验证我写的是否正确,crontab.guru说它不是标准的,可能无法在每个系统上运行。
我尝试做的是,除星期三外,每天运行测试管道。
根据我输入的内容,它应该是这样的:
0 2 * * Mon,Tue,Thu,Fri,Sat,Sun
(除周三外,每天应为凌晨 2:00)。
它是否正确?
我想验证我写的是否正确,crontab.guru说它不是标准的,可能无法在每个系统上运行。
我尝试做的是,除星期三外,每天运行测试管道。
根据我输入的内容,它应该是这样的:
0 2 * * Mon,Tue,Thu,Fri,Sat,Sun
(除周三外,每天应为凌晨 2:00)。
它是否正确?
我有一个简单的 Splunk 设置。大约 120 台左右安装了通用转发器的 Linux 服务器(基本上都是设备),以及一台运行 Splunk Enterprise 的 Linux 服务器,充当索引器、搜索头等。
我遇到的问题是转发器必须将服务器的审核日志提供给 Splunk。该提要实际上工作正常,但它淹没了服务器,导致我超出了许可证限制。
具体来说,设备应用程序在 cron 中有一个经常运行的事件,并且它会用文件访问、文件修改等事件淹没审核日志,这使得我发送到 Splunk Enterprise 的数据量激增。根本不需要数据。
我想要做的是过滤掉这些特定事件,但仅限于该特定用户。我相信这可以在索引器上使用 Transforms.conf 和 props.conf 来完成,但我在获取正确的语法和字段时遇到了困难。
有人可以帮忙吗?
这是我需要删除的数据... sourcetype=auditd acct=appuser exe=/usr/sbin/crond exe=/usr/bin/crontab
因此,基本上,用户“appuser”的审核日志中引用“/usr/bin/crontab”或“usr/bin/crontab”的任何事件都需要删除。
这是我要删除的事件的示例。
类型=USER_END msg=审核(03/04/2024 15:58:02.701:5726) : pid=26919 uid=root auid=appuser ses=184 msg='op=PAM:session_close grantors=pam_loginuid,pam_keyinit,pam_limits,pam_systemd acct=appuser exe=/usr/sbin/crond 主机名=? 地址=?终端=cron res=成功'
类型=USER_ACCT msg=audit(03/04/2024 15:58:02.488:5723) : pid=26947 uid=appuser auid=appuser ses=184 msg='op=PAM:会计授予者=pam_access,pam_unix,pam_localuser acct= appuser exe=/usr/bin/crontab 主机名=? 地址=?终端=cron res=成功'
这可以做到吗?
我希望 cron 只在 stderr 输出上发送电子邮件,但当它这样做时,它应该包括所有 stdout 和 stderr
这与仅在 stderr 上发送电子邮件的常见问题不同(即将 stdout 重定向到 /dev/null)。在这种情况下,cron 只通过电子邮件发送 stderr,但我想查看上下文的所有内容。
我正在运行 Rocky 9,并使用 cronie 作为 cron 守护进程。
我有一台机器,除了其他服务之外,还需要运行服务器虚拟机。我正在运行虚拟机:
qemu-system-x86_64 -nographic \
-enable-kvm \
-m 8G \
-smp 2 \
-hda gw_disk.qcow2
这是一个脚本start.sh
,然后我在根 crontab ( sudo crontab -e
) 上:
@reboot cd /disk/folder && setsid ./start.sh
重新启动后,我查看/var/log/syslog
并得到以下信息:
(CRON) INFO (Running @reboot jobs)
(root) CMD (cd /disk/folder && setsid ./start.sh)
(CRON) info (No MTA installed, discarding output)
我找不到进程ps -o pid,sess,cmd afx | grep qemu
知道我缺少什么吗?谢谢
我有一个 python 脚本,希望在每周五下午 5 点运行。
我怎样才能做到这一点?
我知道我可以通过 cron 来做到这一点。但是,由于我在 Python 脚本中使用了相对文件路径,因此必须在特定目录中与其他文件一起运行。我已经看到我可以使用管道运算符来实现这一点,但是我一直找不到示例。
我有一个 cron 作业,我将其输出发送到 mailx:
# Monday morning at midnight; "mail" is symlink to "mailx"
00 00 * * mon python3 script-with-7500line-output.py | mailx -S 'from=noreply' -s "Report" [email protected]
发送电子邮件时,脚本的输出位于名为ATT0001.bin
.
我们喜欢它附加输出而不是将它放在正文中。但是:有没有办法设置附件的名称?
我需要一个 cron 作业,每天两次删除一个文件夹(包括子文件夹中的文件,但不包括子文件夹本身)中具有这些扩展名(.jpg、.jpeg、.png、.pdf)的所有文件。我正在使用 Dreamhost,它允许您在其 UI 中自定义频率,所以我相信我只需要命令。
因为文件在上传时可能需要一两分钟的时间来处理,以提高安全性,所以如果作业只删除至少 5 分钟前的文件,那会很好,但这是可选的。
非常感谢您的帮助 - 我是 cron 工作的新手!
我有一个在 Google Cloud 上运行的系统。该系统有一个运行后端服务器虚拟机的数据库虚拟机和实例组。所有 VM 都使用cos-stable
VM 映像,并运行一个包含其逻辑的 docker 容器。
DB VM 运行一个包含 MariaDB 数据库的 docker 映像。
我想运行一个备份数据库并将其存储在存储桶中的日常作业。我不知道如何解决这个问题。我没有可以处理 cronjobs 的 VM,我不想让另一个 VM 一直在运行,只是为了日常备份。此外,我想使用 FUSE 将存储桶挂载到备份 VM,而不是使用 Google API 写入存储。
我可以在其中一个成本稳定的 VM 上设置 FUSE 和 cronjob 吗?如果没有,我可以拥有一个每天启动然后自行关闭的虚拟机吗?我在 Google Cloud Console 上找到的调度程序用于应用程序引擎或发布/订阅通知,而不是用于启动 VM。
每次我的 pfSense 的 IP 地址更改时,我都需要手动登录面板,转到服务 > 动态 DNS > 操作 [编辑] > ♻ 保存并强制更新
请问,我如何使用 Cron 做到这一点?我已经安装了 Package 'Cron' 并执行了以下操作(基于 ServerFault 上的另一个问题 - 它不起作用。)
1 1 * * * 根 /usr/bin/nice -n20 /etc/rc.force.dyndns.update
rc.force.dyndns.update 中的代码是:
#!/bin/sh
rm /cf/conf/dyndns\_wancustom\\'\\'0.cache
/etc/rc.dyndns.update
那没起效。问题不断发生。
我在写日志的 crontab 中执行一个脚本,当我以 root 身份运行它时,日志是用西班牙语写的。
但是当我在 crontab 中运行它时,输出是英文的。
有没有办法以与我以 root 身份运行时相同的配置运行 crontab?