我在 DOS 脚本中遇到了一个错误,该错误使用日期和时间数据进行文件命名。问题是我最终出现了一个差距,因为时间变量没有自动提供小时 < 10 的前导零。所以运行> echo %time% 返回:'9:29:17.88'。
有没有人知道有条件地填充前导零来解决这个问题的方法?
更多信息:我的文件名设置命令是:
set logfile=C:\Temp\robolog_%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.log
Run Code Online (Sandbox Code Playgroud)
最终是:C:\Temp\robolog_20100602_93208.log(早上 9:23)。
这个问题和这个有关。
谢谢
我猜我的 PHP 时间和服务器时间之间存在差异。
当我在 PHP 中检查当前时间时,它显示正在使用 MST。但是,cron 作业没有在正确的时间运行。
如何检查服务器本身使用的时区,而不是 PHP 设置使用的时区?
这两种同步服务器的方法之间的优缺点是什么?
在我看来,您的服务器每天的漂移可能不会超过 1 秒,因此 crontab 上的 ntpdate 就可以了。但我听说你可以在这里使用冗余的 NTP 服务器
http://www.pool.ntp.org/en/use.html
以便在发生故障时保持同步时间。
你有什么建议吗?
运行 Linux 我有几个进程偶尔会崩溃(游戏服务器),最终使用 100% cpu。
我正在寻找一个程序或脚本来按名称检查进程列表的 cpu 使用情况,如果它们处于 100% 超过 X 时间,例如 30 秒,则杀死它们。我尝试了 ps-watcher,但无法确定如何完成此操作。
仅仅以 100% 的使用率终止进程是行不通的,因为它会在正常操作期间短暂地击中该进程。
我还发现这个脚本似乎可以做我想做的事,但它仅限于一个过程:链接
任何帮助是极大的赞赏!
对于只有一个或几个站点的小型商店来说,这可能不是什么大问题,但对于较大的组织来说,这是我很好奇的事情。
您的所有/大部分服务器都使用 UTC 有什么优点和缺点?它肯定有助于报告和集中日志记录。还具有用于故障排除或安全审计的事件关联。人们也不必担心夏令时的变化。
一个缺点是,如果您希望它在本地地理时间的“凌晨 4 点”运行某些程序,则调度自动化事件(例如,cron)可能需要一些时间。对于 Unix-y 机器,您仍然可以通过在 /etc/profile 中设置“TZ”来让用户处于本地时区,但是对于将 RDesktop 放入服务器的 Windows 用户(无论出于何种原因),他们是否坚持查看 UTC?
我的服务器上运行着 ntpd。这是所有默认设置,除了我注释掉它作为其他机器的服务器的能力:
# restrict -4 default kod notrap nomodify nopeer noquery
# restrict -6 default kod notrap nomodify nopeer noquery
restrict default ignore
Run Code Online (Sandbox Code Playgroud)
如果我运行ntpdate -q ntp.ubuntu.com,我会被告知我机器的时钟关闭了 7 秒。
这是怎么回事?我如何诊断正在发生的事情,是否有我可以打开的日志?
更多信息#1
# ntpq -np
remote refid st t when poll reach delay offset jitter
==============================================================================
91.189.94.4 193.79.237.14 2 u 30 64 7 108.518 -0.136 0.361
Run Code Online (Sandbox Code Playgroud)
更多信息#2
这是我问这个问题时的样子:
# ntpdate -q ntp.ubuntu.com
server 91.189.94.4, stratum 2, offset 7.191308, delay 0.13310
10 Jan 20:38:09 ntpdate[31055]: step time server 91.189.94.4 offset 7.191308 …Run Code Online (Sandbox Code Playgroud) 当某些与时间相关的程序(如ntpd)在 Linux 系统上运行时,内核将切换到所谓的“十一分钟模式”(参见hwclock手册页),从而每十一分钟从系统时钟自动更新硬件时钟.
在 SLES11 上,我凭经验确定,如果我将硬件时钟设置为比系统时钟晚 10 小时,11 分钟模式似乎无法使硬件时钟与系统时钟匹配。但是如果我将硬件时钟设置为比系统时钟晚 5 分钟,那么 11 分钟模式就完美匹配了。
所以显然有一些 11 分钟模式可以处理的最大更新,我想知道它是什么。
更新:
这很奇怪...
更多的试验表明,当我身边有系统时钟落后20分钟HW时钟的11分钟的模式将设置硬件时钟是准确的系统时钟落后30分钟(!):
# date
Tue Dec 6 10:16:52 EST 2011
# hwclock --set --date "12/6/11 09:56"
#
# date
Tue Dec 6 10:17:16 EST 2011
# hwclock --show
Tue Dec 6 09:56:06 2011 -0.156551 seconds
#
# date
Tue Dec 6 10:23:09 EST 2011
# hwclock --show
Tue Dec 6 10:01:58 2011 -0.535772 seconds
#
# date …Run Code Online (Sandbox Code Playgroud) 我在 debian 上安装了 Jenkins-ci。
当前默认时区:“美国/多伦多” 当地时间现在是:2012 年 7 月 9 日星期一 16:00:57 EDT。 现在的世界时间是:2012 年 7 月 9 日星期一 20:00:57 UTC。
在 /etc/default/rcS 文件中,我有:
UTC=否
不幸的是,这不起作用,在詹金斯的系统信息中:
user.timezone 等/UTC
我搜索了几个小时......不幸的是找不到修复任何帮助将不胜感激。
感谢您的时间
据我了解,10Gb 以太网卡能够每秒在(例如)光纤电缆上传输 10Gb。现在天真地,为了在硬件中发生这种情况,需要一个运行网卡的 10GHz 时钟。
通过在两个边缘上计时,可以将频率减半,但晶体管支持 5GHz 仍然非常高。对于 100Gb 以太网,50GHz 似乎完全不合理。
运行(例如)10Gb 以太网卡的时钟的时钟频率是多少?是否有技巧可以将这个频率从“天真的”10GHz 频率中降低?
我希望有人可以帮助我解决这个奇怪的问题。
我想我知道它为什么会发生,但我不知道如何解决它。也许是因为 BIOS 时间设置不正确或类似的原因。但我不想更改大约 400 多台服务器的 BIOS 时间。(或更换BIOS电池)
root@spool:~# echo TEST > /dev/kmsg
root@spool:~# dmesg -T | tail -1
[Mon Feb 17 04:57:03 2014] TEST
root@spool:~# date
Mon Feb 17 11:45:17 CET 2014
Run Code Online (Sandbox Code Playgroud)
服务器正在运行 ntp 以进行时间同步。
这里有人知道如何在操作系统中解决这个问题吗?
Linux spool 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
为什么在回显到/dev/kmsg时,我的消息的日期/时间dmesg与系统日期/时间不同步?