我运行 crontab -r 而不是 crontab -e 并删除了我的 crontab 文件。我没有备份和新来恢复已删除的文件。
这可能吗?
谢谢,
彼得
尝试将 cron 作业调整为每 90 分钟运行一次。它以前每 20 分钟运行一次,这是一个简单的 cron 作业:
*/20 * * * * whatever
Run Code Online (Sandbox Code Playgroud)
要将其更改为每 90 个,似乎我需要将其拆分为 2 个工作,我已经这样做了:
0 0,3,6,9 * * * whatever
30 1,4,7,10 * * * whatever
Run Code Online (Sandbox Code Playgroud)
这是正确的吗?工作似乎没有开始。
FreeBSD和MacOSX附带了period (8)实用程序,这是一组组织有序的实用程序,用于定期运行系统功能,例如 ZFS 文件系统检查、安全检查、检查过期端口等。
问题是定期发送过多的电子邮件,其中包含过多的多余信息。这导致人们忽略电子邮件,我们错过了periodic(8) 发现的许多问题。每日电子邮件每天发送一次,安全电子邮件每天发送一次,每周和每月电子邮件也定期发送。这些电子邮件的主题行如下之一:
Subject: $HOSTNAME daily run output
Subject: $HOSTNAME security run output
Subject: $HOSTNAME weekly run output
Subject: $HOSTNAME monthly run output
Run Code Online (Sandbox Code Playgroud)
如何减少定期(8)发送的电子邮件数量?
我会在下面发布我自己的答案,但我想看看其他人做了什么。
注意:我有一个关于 Linux 的类似问题,在Linux:logwatch(8) & cron.daily 太吵了。如何控制噪音水平?
我在运行 RedHat 4.1 的服务器上设置了一个 cron 作业来备份 MySQL 数据库,然后上传到 Amazon S3。目标是将 .bz2 文件放入与星期几对应的文件夹中。但是,我收到了守护进程邮寄给我的以下错误。
定时任务:
MAILTO=backups@example.com
0 4 * * * mysqldump --all-databases -ubackups -pPassword | gzip > all-databases.sql.bz2; s3cmd put all-databases.sql.bz2 s3://backup_exampleserver.com/mysql_backups/`date +%A`/all-databases.sql.bz2
Run Code Online (Sandbox Code Playgroud)
错误信息:
/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud) 我放入了一个logrotate配置文件,/etc/logrotate.d/并希望日志在一致的时间轮换;但是,它们不会……日志轮换时间似乎是随机的 +/- 一小时。
为什么日志轮换开始时间是随机的,我该如何更改?
/opt/backups/network/*.conf {
copytruncate
rotate 30
daily
create 644 root root
dateext
maxage 30
missingok
notifempty
compress
delaycompress
postrotate
## Create symbolic links in daily/
PATH=`/usr/bin/dirname $1`;
FILE=`/bin/basename $1`;
/bin/ln -s $1 $PATH/daily/$FILE
endscript
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 rsync 将一些数据从一台服务器备份到另一台服务器。一切正常,但可能需要更长的时间才能完成,具体取决于要传输的数据量。
是否有任何保证方法可以确保 rsync 命令在上一个使用 cronjob 完成之前不会启动?
例如,我每小时运行 rsync 命令,但传输可能需要 1 个多小时才能完成,因此下一个将在前一个完成之前开始。
Ubuntu Linux cron(Vixie cron?)是否支持为其作业设置超时?
具体来说,该进程将在 X 秒后被终止,除非它到那时成功完成。
我遇到过一些由于网络连接和各种问题而导致任务挂起的情况。除非您手动清理并杀死它们,否则该过程将永远挂起。
ubuntu 14.04 邮件服务器:Postfix
root 收到来自 crontab 的数十封电子邮件。这些邮件包含 PHP 警告。
>/dev/null 2>&1)我已经删除了所有以前的电子邮件
/var/mail/root
/var/spool/mail/root
但我仍然每小时收到几十封电子邮件。这些电子邮件来自 cronjobs,有时几乎是一个月前的。
我不明白:这些电子邮件来自哪里,它们存储在哪里?
请注意:我已经阅读了所有类似的问题。cron、paths、env 变量等等,但没有发现可以为我的特定问题提供解决方案。
我有一个脚本可以进行一些 MySQL 转储,然后像这样删除旧的:
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
Run Code Online (Sandbox Code Playgroud)
(以上命令已根据评论中的建议从我的原始命令中修改)
但是,当 cron 运行此脚本时,这些文件永远不会被删除。cron 用户是 root。
调试注意事项
如果我手动运行出现命令的脚本,它会按预期删除它们。
如果我以 root 身份从命令行单独运行上述 find 命令,它会按预期删除它们(并且使用 -print 它会按预期返回超过 5 天的文件列表)
我还向 root 的 crontab 添加了显式路径语句,但这
不会改变任何内容。
Cron 不会发送任何错误,如果我将查找操作通过管道传输到日志文件,
则会显示为空或根本没有创建。
我正在使用 Ubuntu 服务器 14.04.03 LTS。