В системе Linux есть системное время и аппаратное время:
Системное время: вообще говоря, это время, которое мы видим, когда выполняем команду date.Все вызовы времени в системе Linux (кроме команд, которые напрямую обращаются к аппаратному времени) используют это время.
Аппаратное время: время в BIOS на материнской плате питается от батареи материнской платы для поддержания работы.Когда система включена, она должна прочитать это время и установить системное время в соответствии с ним (Примечание: процесс установки системное время в соответствии с аппаратным временем при запуске системы. Возможны преобразования часовых поясов в зависимости от конкретной системы и соответствующих настроек).
1. Просмотр текущей даты системного времени :
[root@surfer ~]# дата
Вторник, 26 июня 2018 г. , 10:09:21 CST
2. Установите дату системного времени -s + время
[root@surfer ~]# дата -s 10:10:10
Вторник, 26 июня 2018 г. , 10:10:10 CST
3. При установке системного времени, если вам также нужно установить дату, вы должны заключить значения даты и времени в двойные кавычки
[root@surfer ~]# дата -s "2018/8/8 10:00:00"
Среда, 8 августа 2018 г. , 10:00:00 CST
4. Используйте команду hwclock или clock для проверки аппаратного времени :
[root@surfer ~]# hwclock
Вторник , 26 июня 2018 г. 10:13:02 - 0,805503 секунды _ _ _ _
[root@surfer ~]# часы
Вторник , 26 июня 2018 г. 10:13:07 - 0,507462 секунды _ _ _ _
5. Запишите аппаратное время в системное:
[root@surfer ~]# hwclock -s
6. Запишите системное время в аппаратное время
[root@surfer ~]# hwclock -w
7. Синхронизация времени, в системе Linux необходимо установить ntpdate
Проверьте, установлен ли ntpdate : rpm -qa | grep ntpdate
Если он не установлен, выполните следующую команду: yum install ntpdate
Команда синхронизации времени: ntpdate www.pool.net.org , где www.pool.net.org — стандартный сервер времени в Интернете.
8. контактная команда _
Вы можете увидеть формат записи запланированного задания с помощью команды v i /etc/crontab
[root@surfer ~]# vi/etc/crontab
SHELL=/bin/bash # Переменная SHELL указывает, какую оболочку использовать для системы
PATH=/sbin:/bin:/usr/sbin:/usr/bin # Переменная PATH указывает путь, по которому система выполняет команды
MAILTO=root # Переменная MAILTO указывает, что информация о выполнении задачи crond будет отправлена пользователю root по электронной почте.Если значение переменной пусто, это означает, что информация о выполнении задачи не будет отправлена пользователю
# Подробнее см. 4 crontabs
# Example of jobdefinition:
# .---------------- minute (0 - 59) #分钟
# | .------------- hour (0 -23) #小时
# | | .---------- day of month (1 - 31) #日期
# | | | .------- month (1 - 12) OR jan,feb,mar,apr … #月份
# | | | | .---- day of week (0 - 6)(Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat #周
# | | | | |
# * * * * * user-name command to be executed
在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
横杠(-):可以用整数之间的横杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
斜线(/):可以用斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
crontab -l :列出当前用户的crontab文件内容
* * * * */usr/local/gse/agent/bin/gsectl watch
crontab -e :编辑当前用户的crontab文件内容
[root@surfer data]#crontab -e
*/1 * * * * echo"hello world">>/data/code.txt
~
在这里我添加了一个定时任务*/1 * * * * echo"hello world">>/data/code.txt :意思是每一分钟打印一次hello world,并且重定向到了/data/code.txt文件里面,几分钟过后查看code.txt,出现了如下内容,说明这个定时任务已经开始执行
[root@surfer data]# cat code.txt
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world