好的,所以我已经制作了脚本,/etc/cron.hourly然后将其放入chmod 777文件中,但它不会(自动)运行。如果我手动运行它,它工作正常。我还需要做什么吗?
我有一个看起来像这样的 crontab 文件:
* * * * * /home/abliskovs/update/update.sh
但是,当我检查系统日志以获取作业已运行的证据时,没有任何迹象表明它曾经运行过。我如何检查它是否正在运行?
crontab -l 输出以下内容:
* * * * * /home/abliskovs/update/update.sh
关于 rsnapshot 的一个简单问题。
为了执行每日备份,我将在我的 Ubuntu 中向 cron 添加行。
那么,为什么我在 rsnapshot.conf 中也有这些行?
#########################################
# BACKUP INTERVALS #
# Must be unique and in ascending order #
# i.e. hourly, daily, weekly, etc. #
#########################################
interval hourly 6
interval daily 7
interval weekly 4
#interval monthly 3
Run Code Online (Sandbox Code Playgroud)
如果我使用 cron,我应该禁用它们吗?谢谢
附:我刚刚意识到在 crontab 中我仍然有“每小时”和“每天”。然后我应该只取消注释我在 crontab 中使用的那个吗?如果已经在 cron 中指定,那么每小时指定有什么意义?我有点困惑。
# crontab -e
0 */4 * * * /usr/local/bin/rsnapshot hourly
30 23 * * * /usr/local/bin/rsnapshot daily
Run Code Online (Sandbox Code Playgroud) 我的 crontab 中有很多东西,包括一些与我的屏幕对话的东西。如果我不在那里通知它,我真的不希望它运行。
有没有办法可以检查计算机是否已锁定,以便在我不在办公桌前时可以防止它执行任何操作?或者,仅当我不在办公桌旁时才做其他事情?
我已经设置了一个每日 anacron 工作,它运行 form /etc/cron.daily。从/etc/crontab我看到它应该每天在 06:25(或在启动/重启时)运行。
但是,当日期更改(00:00)并且计算机启动时,我不希望 anacron 等到 06:25。如果计算机已启动,我希望它在日期更改时(00:00)立即运行脚本。添加 cron 作业来运行 anacron @hourly 是否有意义?
非常感谢
每小时我都会收到一封包含这样错误的电子邮件,
Subject: Cron <root@supa> root cd / && run-parts --report /etc/cron.hourly
/bin/sh: root: not found
Run Code Online (Sandbox Code Playgroud)
/etc/crontab 的内容如下,无论是否删除用户“root”(第 6 列),我都会收到相同的错误。
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
11 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * …Run Code Online (Sandbox Code Playgroud) 我有一些每天运行的 anacron 工作。脚本更新本地 bzr 和 git 存储库。当然,这些脚本需要有效的网络连接。我在笔记本电脑上,有线和无线互联网通常不够快。这会导致我的 cron 作业在拉存储库时超时 =(
所以:
如何在运行特定的 cron 作业之前确保互联网已启动?或者,如果没有网络,如何使作业失败,以便 anacron 稍后再次重试?
我想在启动时执行 bash 脚本,在不同的工作区中打开多个终端。如果我从终端调用脚本,脚本工作得很好,但如果使用 @reboot 从 crontab 执行,则脚本不起作用:
#!/usr/bin/env bash
#1 make sure we have enough workspaces
gconftool-2 --set -t int /apps/metacity/general/num_workspaces 7
#2. Launch programs in these terminals
wmctrl -s 6
gnome-terminal --full-screen --execute bash -c "tmux attach; bash"
wmctrl -s 5
gnome-terminal --full-screen --execute bash -c "weechat-curses; bash"
wmctrl -s 4
gnome-terminal --full-screen --execute bash -c "export TERM=xterm-256color; mutt; bash"
wmctrl -s 3
gnome-terminal --full-screen
wmctrl -s 2
gnome-terminal --full-screen
wmctrl -s 1
gnome-terminal --full-screen
wmctrl -s 0
google-chrome …Run Code Online (Sandbox Code Playgroud) 我有如下设置,但从未执行过。
$ chmod +x /var/tmp/myscript.sh
$ vim /var/tmp/crontab.sh;
* * * * * sleep(10); /var/tmp/myscript.sh
$ crontab /var/tmp/crontab.sh
Run Code Online (Sandbox Code Playgroud)
现在只是,注意到它不起作用。我究竟做错了什么?
$ grep CRON /var/log/syslog
Nov 28 15:20:01 sun CRON[1768]: (sun) CMD (sleep(10);/var/tmp/myscript.sh)
Nov 28 15:20:01 sun CRON[1766]: (CRON) error (grandchild #1768 failed with exit status 2)
Nov 28 15:20:01 sun CRON[1766]: (CRON) info (No MTA installed, discarding output)
Run Code Online (Sandbox Code Playgroud)
跟进:
$ vim /var/tmp/crontab.sh
* * * * * sleep 10; /var/tmp/myscript.sh>/dev/null 2>&1
$ tail -f /var/log/syslog | grep CRON
Nov 28 15:50:02 …Run Code Online (Sandbox Code Playgroud) 我有一个 bash 脚本,它作为 cron 运行来备份服务器上的文件。
#!/bin/bash
FILE=/path/to/backup_$(date +%Y%m%d).tar
tar -cf $FILE /backup/this /and/that /and/someotherfiles
gzip $FILE
Run Code Online (Sandbox Code Playgroud)
当我直接使用以下命令运行脚本时:
sudo bash ./backup-files.sh
Run Code Online (Sandbox Code Playgroud)
它对文件进行 gzip,但昨晚当 cron 运行时,它把它作为 tar 留下了。cron 是否会在某处保存日志以指出为什么会出现这种情况?
crontab ×10
cron ×6
cron-jobs ×5
bash ×2
command-line ×2
9.10 ×1
gnome ×1
gzip ×1
programming ×1
rsnapshot ×1
screensaver ×1
syslog ×1