Docker 容器从哪里获取时间信息?我已经从基本的 ubuntu:trusty 映像创建了一些容器,当我运行它并请求“日期”时,我得到了 UTC 时间。
有一段时间我通过在我的 Dockerfile 中执行以下操作来解决这个问题:
RUN sudo echo "America/Los_Angeles" > /etc/timezone
Run Code Online (Sandbox Code Playgroud)
但是,由于某种原因停止工作。在网上搜索我看到以下建议:
docker run -v /etc/timezone:/etc/timezone [image-name]
Run Code Online (Sandbox Code Playgroud)
不过,这两种方法都正确设置了时区!
$ cat /etc/timezone
America/Los_Angeles
$ date
Tue Apr 14 23:46:51 UTC 2015
Run Code Online (Sandbox Code Playgroud)
有谁知道是什么给的?
对于我用来测试 devops 管道的简单应用程序,我将构建的开始时间输出到主页。在我的开发机器上,我期望的 ISO-8601 时间戳年份 2019 被打印出来(特别是“2019-09-12T20:11:00.000Z”)。当使用 AWS CodeBuild 构建相同的代码库时,ISO-8601 时间戳看起来像“+051668-02-09T08:09:32.000Z”。什么是“+051668”?我想是今年;我最好的猜测是它的年份表示为不同的日历。想法?
AWS CodeBuild 为每个构建 (CODEBUILD_START_TIME) 设置此环境变量。我正在使用他们最新的默认 Ubuntu 容器 (v2.0) 进行构建。
我正在玩一些日期的变化,比如
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] 而没有呈现 =/
这怎么可能,我该如何处理?我正在制作依赖于 Unix 的备份脚本,date并发现了一个有趣的错误:
[root@web000c zfs_test]# date +%y-%m-%d --date='2 months ago'
14-04-01
[root@web000c zfs_test]# date +%y-%m-%d --date='3 months ago'
14-02-28
[root@web000c zfs_test]# date
Sun Jun 1 00:08:50 CEST 2014
Run Code Online (Sandbox Code Playgroud) 您如何计算自 1970 年 1 月 1 日以来的天数?这是用于更新OpenLDAP 上的shadowLastChange属性。
有没有办法使用 linux date命令来做到这一点?
我有一个在 0 0 * * 0/2 运行的 cron 作业——即每隔一个星期天。例如,它现在刚刚运行。但是,我希望它在其他星期天运行——下个星期日,而不是这个星期天。另一种说法:我认为它在一年中的偶数星期日运行,但我希望它在奇数星期日运行。
我在“man 5 crontab”中没有看到任何可以帮助我解决这个问题的东西,所以我想我需要回到在 0 0 * * 0 运行 cronjob 然后在我运行的命令中做一些事情来检查它是哪个星期天是。任何人都可以帮我一些合适的命令行技巧吗?
ETA:已经意识到我的 0/2 根本没有按照我最初的想法(每个第二个星期天)做。它每周日运行,只要一周中的那一天可以被 2 整除,当然可以。哦。无论如何,基本要求仍然存在:在奇数星期日运行命令。
在尝试使用 NTD 或手动使用date命令设置服务器时间时,我遇到了一个有趣的问题。
首先,我尝试使用 NTD。我已经成功安装了最新版本的 NTD,并启动了它。在那之后,我希望同步开始。这就是我运行以下命令的原因:ntpdate pool.ntp.org
我收到了以下错误:
5 月 18 日 15:29:21 ntpdate[15477]:step-systime:不允许操作
比我不知道该怎么做,所以我尝试使用以下date命令手动设置时间:
rm /etc/localtime
ln -s /usr/share/zoneinfo/GMT /etc/localtime
date 051822172013
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误:
日期:无法设置日期:不允许操作
谁能猜出我的服务器上可能出现的问题是什么?我以 root 身份登录,并且使用 CentOS 5。
谢谢你。
在 Linux CLI 上,有没有办法获取一个月中的星期几?也许还有另一种方法可以通过一个简单的(如date)命令来实现这一点?假设第 1 天到第 7 天是第一周,第 8 天到第 14 天是第二周,依此类推。
在ansible中,我想操作组成或组成的文件/目录/档案,如下所示:
我该怎么做。Ansible 似乎无法处理这个问题。(我怀疑)。那么,我做错了什么?
前任:
- name: create file with a date in name
file: path=/path/somefile.`date +%y_%m_%d`
- name: unzip a file
unarchive: path=/path/zomezip.`date +%y_%m_%d`.tar.gz bla bla....
Run Code Online (Sandbox Code Playgroud) 我有一个从批处理文件运行的进程,我只想在一周中的某一天运行它。
是否有可能获得星期几?
我发现的所有示例都以某种方式依赖“date /t”返回“Friday, 12/11/2009”,但是,在我的机器中,“date /t”返回“12/11/2009”。那里没有工作日。
我已经检查了我机器的“区域设置”,长日期格式确实包括工作日。短日期格式没有,但我真的不想改变它,因为它会影响我做的很多事情。