所以如果有那么一天:
https://secure.wikimedia.org/wikipedia/en/wiki/Daylight_saving_time
当我们必须例如:将时钟从凌晨 3 点调回到凌晨 2 点。好的。
所以如果有人在凌晨 3 点创建一个 cron 作业,那么如果夏令时到来,备份将首先在凌晨 3 点运行,然后时钟自动设置回凌晨 2 点,1 小时过去了,然后备份再次运行,因为现在是凌晨 3 点![假设备份每天运行两次,可能会出现问题。甚至更糟:没有备份将运行,因为它是例如:安排在凌晨 2 点,但时钟永远不会到达凌晨 2 点,因为它将自动设置为凌晨 3 点!当我们必须把时钟调快时]。
所以真正的问题是:世界各地的夏令时是相同的,还是在不同的时间?我们应该注意这个“理论”问题吗?
如何从 crontab 打开 gnome 终端窗口?
我试过这个:
* * * * * /usr/bin/gnome-terminal
* * * * * source /home/user_name/.bashrc ; /usr/bin/gnome-terminal
* * * * * source /home/user_name/.profile ; /usr/bin/gnome-terminal
* * * * * source /home/user_name/.bashrc ; /home/user_name/bin/opengnometerminal.sh
Run Code Online (Sandbox Code Playgroud)
这些似乎都不起作用。
我有一个 shell 脚本来获取 MySQL 数据库转储。手动运行时,此脚本工作正常
#!/bin/sh
fqn=/home/Mysqluser/daily_dumps/bookstore_`date +%Y%m%d_%H%M%S`.sql.gz
mysqldump -u root -h localhost -pmysql#passwd bookstore | gzip > $fqn
Run Code Online (Sandbox Code Playgroud)
但是,当我将此脚本包含在 cron 作业中时,它不会进行备份。
这是我在 cron 工作中包含的内容:
00 00 * * * /home/Mysqluser/daily_dumps/bin/backup_database.sh
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?
在 crontab 中,我可以使用 @reboot 在系统重启后运行命令。有没有办法延迟执行此操作,即在重新启动 10 分钟后运行命令?
我有一个迷你蓝牙键盘和一个运行基于 Debian 的发行版的 Raspberry Pi。我知道键盘的 MAC 地址,但对于这个问题,让我们使用AA:BB:CC:DD:EE:FF. 现在我必须连接有线键盘以及用于迷你键盘的蓝牙加密狗。在有线键盘上,我必须在设备启动时运行以下命令:
sudo hidd --connect AA:BB:CC:DD:EE:FF
Run Code Online (Sandbox Code Playgroud)
如果设备空闲时间过长,蓝牙就会断开连接,我必须拔出有线键盘并重新键入相同的命令。
我正在寻找的是一种在启动时运行该命令的方法,以及一种检测它是否断开连接以便自动重新连接的方法。
令人讨厌的是,当我运行该命令时,键盘必须处于配对模式(即使它已经配对),否则它会告诉我主机已关闭。因此,脚本可能需要防止它因不活动而断开连接,否则我将不得不将其重新置于配对模式以重新连接。
所以回顾一下:
我正在使用 Ubuntu 精确。即使在 Ubuntu 挂起时,有没有办法让计划的 cron 作业运行?也许某种方法可以自动唤醒系统,以便计划的 cron 作业可以继续进行,然后将其重新挂起?
我有一个需要在共享虚拟主机上运行的 php 脚本。我创建了一个执行 sh 脚本的 cron 作业。我的 crontab 中的命令是:
/bin/sh /home/user/script.sh
我假设它是 Bourne Shell(或兼容的东西)。脚本本身是:
#!/bin/sh
cd /home/user/public_html/folder/
#updating DB
php -q ./run_interactive_job.php batch_control_files/updateDB
echo Updated DB results
Run Code Online (Sandbox Code Playgroud)
我有以下问题:
我可以为 php 命令添加很好的优先级吗?或者我是否需要在 cron 命令中将其添加到脚本中。
哪一个更有可能工作?
nice 10 php -q ./run_interactive_job.php batch_control_files/updateDB
上述命令在以较低优先级运行时会成功吗?
PS:基本上,这个脚本在我通过浏览器运行它之前已经使服务器过载,它影响了该服务器上的 APACHE,导致我的主机阻止了该文件。我一再要求他们解锁以使用不同的参数对其进行测试。现在我试图以较低的优先级通过 cron 运行它 - 希望它不会影响 APACHE。但我不希望它再次产生问题,因此我尝试使用nice。
更新:我使用了那里显示的批处理文件。我在批处理文件中的 php 之前使用了 nice 命令。唯一的区别是:
nice -n 10 php -q ./run_interactive_job.php batch_control_files/updateDB
我添加了命令来运行其他具有相同属性的 php 脚本。他们都工作得很好。
感谢大家的输入@sm4rk0 答案解决了我的问题
我想在 CentOS 6 启动时运行一个 bash 脚本。我在/etc/init.d/目录中添加了脚本,但所有这些脚本都是由 root 运行的。我想为任何用户运行脚本。
我无法通过谷歌找到这个问题的答案:
ubuntu 中的 CRON 执行作业的程度如何?
它是否会在自己的流程中产生每个新工作?
假设我有两个 cron 工作:
@reboot /some/really/slow/job
* * * * * /some/quick/job
Run Code Online (Sandbox Code Playgroud)
这些作业会并行运行,还是第一个作业会阻塞第二个作业直到完成?
其次,Cron 会影响重定向吗?假设我有一个包含类似内容的脚本
rsync --verbose /from /to &>>rsynclog.log
Run Code Online (Sandbox Code Playgroud)
从 CRON 调用时会写入日志文件吗?还是会在其他地方结束?
这个页面http://wiki.ci.uchicago.edu/I2U2/WebalizerConfiguration 建议重命名 /etc/cron.daily/logrotate 所以它在 /etc/cron.daily/webalizer 之后 - webalizer 应该在 logrotate 开始之前完成。
真的吗 ?cron.daily 会在开始下一个作业之前等待作业完成吗?