我需要每天运行一个脚本。该脚本应该以特定用户(例如 user1)而不是 root 身份运行。所以我将 cron 文件放在 /etc/cron.d 并将用户名放在行(第 2 列)中。但是它给出了一个错误,说找不到命令。我怀疑该脚本不是作为 user1 的环境运行的。我错过了什么?
我有一个需要每分钟执行一次的脚本。问题是 cron/var/log/syslog每次执行时都会记录。我最终看到这样的事情一遍又一遍地重复/var/log/syslog:
Jun 25 00:56:01 myhostname /USR/SBIN/CRON[1144]: (root) CMD (php /path/to/script.php > /dev/null)
Run Code Online (Sandbox Code Playgroud)
我正在使用 Debian。
我的问题是:有什么办法可以告诉 cron 不要每次都将这些信息写入 syslog?
我通过 nullmailer 使用远程 SMTP,它需要将 From 字段设置为特定名称,但 cron 将其设置为 root@my.sweet.server.com。
我怎么能把它改成像 me@ya.ru 这样的东西?
这是我想要自动化的内容:
00 08 * * * psql -Uuser database < query.sql | mail somone@null.com -s "query for `date +%Y-%m-%dZ%I:%M`"
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) 如何保存和退出crontab -e?
我尝试了这里列出的所有方法,但都没有奏效,我有一个 centos 5,默认情况下 vi 带有 yum,我安装了 nano
解决了
刚刚更改了默认编辑器
export EDITOR=nano
Run Code Online (Sandbox Code Playgroud)
现在我可以使用 nano 来做我所做的事情了 :) 谢谢大家,是的,我应该学习 Vi .. 有一天!!!
我在 Ubuntu 11.04 ( adduser --system) 中创建了一个“系统”用户来运行某些 cron 作业,但有时我想通过以该用户身份手动运行命令来测试一下。什么是最简单的方法来做到这一点?
su不起作用,因为用户有/bin/false它的外壳(这对 cron 很好)。我一直在手动更改外壳以/bin/bash进行测试,然后再次将其更改回来,但我想知道有没有更简单的方法?
尝试运行一个简单的 AWS CLI 备份脚本。它遍历包含文件中的行,将这些路径备份到 S3,并将输出转储到日志文件。当我直接运行此命令时,它运行没有任何错误。当我通过 CRON 运行它时,我的输出日志中出现“无法找到凭据”错误。
外壳脚本:
AWS_CONFIG_FILE="~/.aws/config"
while read p; do
/usr/local/bin/aws s3 cp $p s3://PATH/TO/BUCKET --recursive >> /PATH/TO/LOG 2>&1
done </PATH/TO/INCLUDE/include.txt
Run Code Online (Sandbox Code Playgroud)
我只是在开始看到错误后才将这一行添加到配置文件中,我认为这可能会解决它(尽管我很确定这是 AWS 默认的样子)。
Shell 脚本以 root 身份运行。我可以在指定位置看到 AWS 配置文件。我觉得这一切都很好(就像我说的,它在 CRON 之外运行良好)。
我想做一个完整的服务器备份。
我已经有我的备份脚本复制 web 应用程序的所有 html/php 文件和 mysql 数据库,并将它们放入 .tar.gz 文件中。
如何将 crontab 文件添加到该备份中?
每当我保存 crontab 时,它都会转到 /tmp 文件夹......然后当我立即检查该文件夹时,它是空的。
今天是 2016 年 11 月 1 日或(明确的)数字,2016-11-01。
我有一个像这样设置的用户 cron 作业:
# m h dom mon dow command
33 3 1 */2 * /home/user/...
Run Code Online (Sandbox Code Playgroud)
它应该在每个月的第一天凌晨 3:33 每隔一个月运行一次,无论那是一周中的哪一天,但由于某种原因,它今天运行,即使 11 不能被 2 整除。
有人可以向我解释这个吗?我对可被 2 整除的假设是错误的吗?
编辑:我忘了说,我cron在 Debian 8.6“Jessie”机器上运行版本“3.0pl1-127+deb8u1”。