我可以crontab -e作为普通用户使用来编辑我的用户 crontab。anacron 是否有针对个人非管理员用户的任何类似功能,或者它是否只有系统范围的 anacrontab?
我正在玩一些日期的变化,比如
DATE = $(date)
Run Code Online (Sandbox Code Playgroud)
但这也不起作用
crontab -e
CRONLOG=/tmp/log/crontab.log
DATEVAR=`date +20\%y\%m\%d_\%H\%M\%S`
* * * * * echo $DATEVAR >> /tmp/log/crontab.log
*/2 * * * * echo "$DATEVAR hello" >> ${CRONLOG}
*/1 * * * * echo 'every minute' >> ${CRONLOG}
Run Code Online (Sandbox Code Playgroud)
这只是按原样输出文本......
我想在 crontab.log 中创建一个日志条目,每次更新都带有时间戳
我如何在 CentOS 6 上执行此操作?
更新
DATEVAR=date +20%y%m%d_%H%M%S
*/1 * * * * /bin/echo [CRON] $($(DATEVAR)) >> /tmp/log/crontab.log
Run Code Online (Sandbox Code Playgroud)
当我尝试时只呈现 [CRON] 而没有呈现 =/
如果我将一个新脚本放入/etc/cron.d/系统如何知道将其插入到全局 crontab 中?
我是否需要重新启动一个进程来接收它?
是否init每分钟运行一次 crontab,然后它会被重新扫描?
它使用 inotify 和 watch/etc/cron.d吗?
找不到任何非常明显的东西,我一直想知道
我昨晚使用 cron -r 清除了一个 cron 作业设置。
今天早上我尝试再次启用它并每次都收到此错误:
cron: 无法锁定 /var/run/crond.pid, otherpid 可能是 3759: 资源暂时不可用
我试过重新启动,但没有帮助。操作系统 = Debian。
我每分钟运行一个作业来重新索引我网站的内容。
今天,搜索引擎死了,当我登录时,有数百个由 cron 启动的孤立进程。
是否有另一种使用某种现有软件的方法可以让我每分钟执行一次作业,但如果该作业没有返回(即因为搜索引擎进程失败),则不会启动另一个实例?
当我遇到权限问题时,我尝试以非 root 用户“coins”的身份访问我的 crontab,如以下提到 pam 配置的错误消息所示:
[coins@COINS-TEST ~]$ crontab -l
Authentication service cannot retrieve authentication info You (coins) are not allowed to access to (crontab) because of pam configuration.
Run Code Online (Sandbox Code Playgroud)
此 crontab 访问问题最常见的修复方法是什么?
我为增量备份添加了一个 cron 作业,并像这样配置它:
0 23 * * * /usr/bin/rsync -ravzX /mnt/external/project/ /media/backup/project/ | mail -s "Backup Success" admin@example.com
但是我没有收到任何电子邮件。
我怎样才能找出问题所在?
如果我在我的盒子上使用 root 密码登录,我可以简单地输入
mysqldump --all-databases ,我会得到预期的“转储”。
我在 cron.daily 中设置了一个作业来运行并将其转储到备份驱动器。我遇到的问题是,虽然用户以 root 身份运行,但我收到以下消息
mysqldump:得到错误:1045:用户'root'@'localhost'的访问被拒绝(使用密码:否)
尝试连接时。我不想在脚本中硬编码 mysql 数据库 root 密码(谁会)。
考虑到我可以在我的 bash shell 的命令行中输入“mysqldump”,必须有办法使用 -u 参数。我已经在脚本的顶部有 #!/bin/bash。
我在这里错过了什么才能让它不要求数据库的 root 密码?
最近,配置为从用户的 crontab 运行的作业停止执行。尝试为用户列出或编辑 crontab 时,结果是:
user@host:~$ crontab -l
crontabs/user/: fopen: Permission denied
user@host:~$ crontab -e
crontabs/user/: fdopen: Permission denied
Run Code Online (Sandbox Code Playgroud)
显然它与权限相关,但我不确定权限是如何更改的——更重要的是,它们应该设置为什么。
/usr/bin/crontab 上的权限:
$ ll /usr/bin/crontab
-rwxr-sr-x 1 root libuuid 35896 Aug 24 2010 /usr/bin/crontab*
Run Code Online (Sandbox Code Playgroud)
/var/spool/cron/crontab 目录的权限:
# ll /var/spool/cron/
total 12
drwxr-xr-x 3 root root 4096 Oct 12 2010 ./
drwxr-xr-x 7 root root 4096 Jun 5 20:51 ../
drwx-wx--T 2 root libuuid 4096 Jan 10 2014 crontabs/
Run Code Online (Sandbox Code Playgroud)
crontab 目录中的权限:
# ll /var/spool/cron/crontabs/
total 16
drwx-wx--T 2 root libuuid 4096 …Run Code Online (Sandbox Code Playgroud) 我当前的 logrotate 配置如下所示(使用 logrotate 3.8.7)
"/var/log/haproxy.log" {
daily
size 250M
rotate 1
create 644 root root
missingok
compress
notifempty
copytruncate
}
Run Code Online (Sandbox Code Playgroud)
它每天成功运行一次,但是当大小超过 250M 时它不会被轮换。因此,无论大小如何,它都会等到一天结束时进行轮换。
我读过,有是MAXSIZE选项,转换后size 250M,以maxsize 250M它仍然无法正常工作。
我是否需要设置一个 cron 以每小时的方式运行 logrotate,或者 logrotate 会自动运行,因为它正在侦听该文件大小,并且我还有其他错误发生?