Date 使用计划作业更改Unix服务器日期
我正在寻找一种在unix服务器上调度一组命令的方法。服务器时间以UTC为单位。我基本上希望在英国时间每周三下午4点自动执行以下步骤:Date 使用计划作业更改Unix服务器日期,date,unix,cron,scheduled-tasks,crontab,Date,Unix,Cron,Scheduled Tasks,Crontab,我正在寻找一种在unix服务器上调度一组命令的方法。服务器时间以UTC为单位。我基本上希望在英国时间每周三下午4点自动执行以下步骤: 将服务器日期更改为下一次英国午夜(以避免时区更改问题) 重新启动tomcat服务器 如果tomcat正在运行,则运行一个jar 将服务器日期更改为正确的当前UTC时间 重新启动tomcat服务器 如果tomcat正在运行,我们就完成了 以下命令是我当前手动运行的命令: date -s "Thu Feb 09 00:01:00 UTC 2017" (repres
- 将服务器日期更改为下一次英国午夜(以避免时区更改问题)
- 重新启动tomcat服务器
- 如果tomcat正在运行,则运行一个jar
- 将服务器日期更改为正确的当前UTC时间
- 重新启动tomcat服务器
- 如果tomcat正在运行,我们就完成了
date -s "Thu Feb 09 00:01:00 UTC 2017" (represents the next day at 1 minute past midnight)
service tomcat restart
sudo -u tomcat java -jar Test.jar -type "Major" -status "Active"
date -s "<the current UTC time>"
service tomcat restart
日期-s“2017年2月9日星期四00:01:00 UTC”(表示第二天午夜后1分钟)
服务tomcat重启
sudo-u tomcat java-jar Test.jar-类型“主要”-状态“活动”
日期-s“”
服务tomcat重启
我知道我们可以使用cron来安排脚本的运行,但不确定如何做到这一点。非常感谢您的帮助。创建一个名为unix server date.sh的文件,并将其保存在/opt中。脚本将包含以下内容:
#!/bin/bash
date -s "Thu Feb 09 00:01:00 UTC 2017" (represents the next day at 1 minute past midnight)
service tomcat restart
sudo -u tomcat java -jar Test.jar -type "Major" -status "Active"
date -s "<the current UTC time>"
service tomcat restart
然后发出crontab-e编辑crontab条目并添加如下条目:
00 16 * * 3 /opt/unix-server-date.sh
根据您的编辑器,添加crontab条目后,请保存文件,crontab将自动安装
这将是最基本的
如果从特定用户帐户运行这些命令,则应将cronjob添加到该用户的crontab。将crontab-e更改为crontab-e-u用户感谢对crontab的帮助!在脚本中,有没有一种方法可以让它智能地知道第二天午夜后1分钟会发生什么?我会将cronjob设置为每周的同一天,但它也需要适应夏时制的变化。为什么不使用NTP或Chronyd,以便在服务器上自动调整时间?因为我们只想更改执行JAR的日期,也就是我们需要向前移动服务器时间的时候,在将其恢复到UTC的正确时间之前。JAR必须在午夜后1分钟执行,但我们只在工作时间运行JAR,以便有人可以监视它。
00 16 * * 3 /opt/unix-server-date.sh