精华内容
下载资源
问答
  • 每分钟向文本写入当前日期 每天05:00重启系统 定时重启Tomcat服务器 执行自定义脚本文件 准备脚本文件 定时执行 其它示例 本文导读 Linux crontab 是用来定期执行程序的命令。当安装完成操作系统之后,默认...

    目录

    crontab 定时计划命令概述

    crontab  安装与启动

    crontab 定时任务表达式

    crontab 定时任务举例

    CentOS 自动同步系统时间


    crontab 定时计划命令概述

    1、Linux crontab 是用来定期执行程序的命令,当安装完成操作系统之后,默认便会启动此任务调度命令。---本文环境 CentOS 7.2

    2、crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

    3、crontab 是用来让使用者在固定时间或固定间隔执行程序之用,类似Windows 的定时计划

    crontab  语法:

    crontab [ -u user ] file

    crontab [ -u user ] { -l | -r | -e }

    参数说明

    • -u user:用来设定指定用户的 crontab服务
    • -e : 编辑某个用户的crontab文件内容,没指定用户时表示编辑当前用户的crontab文件
    • -r : 删除某个用户的crontab文件,没指定用户时表示删除当前用户的crontab文件
    • -l :显示某个用户的crontab文件内容,没指定用户时表示显示当前用户的crontab文件内容

    crontab  安装与启动

    1、系统安装完成后,crontab 命令一般也是默认安装好了的,而且每次系统启动之后,crond 服务也是默认开启的

    2、模糊查找:yum list |grep crontab ,当不知道 crontab命令包全名时,可以如此搜索

    3、查看安装状态:yum list crontabs ,如下可知 crontab命令包全名为 “crontabs”,而且已经安装好了

    4、安装:yum install crontabs,如果没有安装时,可以使用yum安装

    [root@localhost ~]# yum list |grep crontab
    crontabs.noarch                             1.11-6.20121102git.el7     @anaconda
    [root@localhost ~]# yum list crontabs
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.tuna.tsinghua.edu.cn
    已安装的软件包
    crontabs.noarch               1.11-6.20121102git.el7               @anaconda
    [root@localhost ~]# 
    

    查看 crontab 服务状态

    查看服务状态,方式一:service crond status

    查看服务状态,方式二:systemctl status crond.service

    服务名称为 crond,systemctl命 令要在 CentOS7 及以后版本才有,,推荐方式是 systemctl

    [root@localhost ~]# systemctl status crond.service
    ● crond.service - Command Scheduler
       Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
       Active: active (running) since 五 2018-07-27 20:56:26 CST; 17min ago
     Main PID: 885 (crond)
       CGroup: /system.slice/crond.service
               └─885 /usr/sbin/crond -n
    
    7月 27 20:56:26 localhost.localdomain systemd[1]: Started Command Scheduler.
    7月 27 20:56:26 localhost.localdomain systemd[1]: Starting Command Scheduler...
    7月 27 20:56:27 localhost.localdomain crond[885]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 1% if used.)
    7月 27 20:56:27 localhost

    开/关/重启 crontab  服务

    同理也有 service 与 systemctl 两种方式

    开启服务:service crond start ,systemctl start crond.service

    重启服务:service crond restart , systemctl restart crond.service

    关闭服务:service crond stop , systemctl stop crond.service

    [root@localhost ~]# service crond stop
    Redirecting to /bin/systemctl stop  crond.service
    [root@localhost ~]# service crond status
    Redirecting to /bin/systemctl status  crond.service
    ● crond.service - Command Scheduler
       Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
       Active: inactive (dead) since 五 2018-07-27 21:21:14 CST; 8s ago
      Process: 885 ExecStart=/usr/sbin/crond -n $CRONDARGS (code=exited, status=0/SUCCESS)
     Main PID: 885 (code=exited, status=0/SUCCESS)
    
    7月 27 20:56:26 localhost.localdomain systemd[1]: Started Command Scheduler.
    7月 27 20:56:26 localhost.localdomain systemd[1]: Starting Command Scheduler...
    7月 27 20:56:27 localhost.localdomain crond[885]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 1% if used.)
    7月 27 20:56:27 localhost.localdomain crond[885]: (CRON) INFO (running with inotify support)
    7月 27 21:21:14 localhost.localdomain systemd[1]: Stopping Command Scheduler...
    7月 27 21:21:14 localhost.localdomain systemd[1]: Stopped Command Scheduler.
    [root@localhost ~]# 
    

    crontab 定时任务表达式

    1、用户创建的 crontab 定时中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为6个字段,前 5个是时间字段,第6个是要执行的命令,格式如下:minute    hour    day    month    week    command

    2、格式说明:

    minute:表示分钟,取值 [0,59] 之间的任何整数

    hour:表示小时,取值 [0,23] 之间的任何整数

    day:表示日期, 取值 [1,31] 之间的任何整数

    month:表示月份,取值 [1,12] 之间的任何整数

    week:表示星期几,取值 [0,7] 之间的任何整数,0和7都代表星期日

    command:要执行的命令,可以是系统命令,也可以是用户编写的脚本文件,如*.sh

    当 minute 为 “ * ” 时表示每分钟都要执行 command,hour 为 “ * ” 时表示每小时都要执行程序,其于类推

    当 minute 为 " a-b " 时表示从第 a 分钟到第 b 分钟这段时间内每分钟整都要执行 command,hour 为 “ a-b ” 时表示从第 a 到第 b 小时内的没小时整都要执行,其于类推

    当 minute 为 “ */n ” 时表示每 n 分钟个时间间隔执行一次,hour 为 " */n " 表示每 n 个小时时间间隔执行一次,其于类推

    当 minute 为 “ a, b, c ” 时表示第 a, b, c 分钟都要执行,hour 为 a, b, c 时表示第 a, b, c 个小时整都要执行,其于类推

    crontab 定时任务举例

    一)每分钟向文本写入当前日期

    1、直接使用 crontab -e  编辑当前用户的 crontab 定时计划文件内容即可,创建任务之后,使用 crontab -l 可以查看当前用户的crontab文件内容,crontab 文件修改之后立即生效,无需重启 crond.service 服务

    [root@localhost /]# crontab -e
    */1 * * * * date >> /home/dateLog.txt
    [root@localhost home]# crontab -l
    */1 * * * * date >> /home/dateLog.txt
    

    2、结果就是每分钟都会将系统当前时间输出到 /home/dateLog.txt 文件中去,/home/dateLog.txt文件不存在时,它默认会新建。

    二)每天05:00重启系统

    1、crontab -e 编辑当前用户 crontab文件,进入编辑模式,输入 0 5 * * * /sbin/reboot :

    [root@localhost sbin]# crontab -e
    0 5 * * * /sbin/reboot
    

    三)定时重启 Tomcat 服务器

    1、每天凌晨6点整关闭Tomcat服务器,6点零5分再启动服务,后面的路径请以实际安装的为准

    [root@localhost bin]# crontab -e
    0 6 * * * /usr/local/tomcat_1.8/apache-tomcat-8_1/bin/shutdown.sh
    5 6 * * * /usr/local/tomcat_1.8/apache-tomcat-8_1/bin/startup.sh
    

    四)执行自定义脚本文件

    1、在/home目录下新建一个 “test.sh”脚本文件,linux下的 *.sh文件类似于Windows下的bat文件

    2、test.sh 可执行文件的内容很简单,就是往当前目录下的log.txt输入系统日期内容以及"haha"字符串

    3、注意:很多时候*.sh脚本文件可以直接运行,但是通过crontab却不能运行,原因是因为crontab执行脚本的时候不会读取用户的环境变量等配置 ,解决办法是在 *.sh 文件的起始位置加上 "source /etc/profile" 即可

    [root@localhost home]# ls
    [root@localhost home]# vim test.sh
    source /etc/profile
    date >> /home/log.txt
    echo 'haha' >> /home/log.txt
              

    4、保存然后退出,默认情况下,现在这个 test.sh 文件是没有权限的,需要为它赋予权限才能使用,chmod 赋予权限之后,test.sh文件会变成绿色,即表示可执行文件。

    [root@localhost home]# ./test.sh
    -bash: ./test.sh: 权限不够
    [root@localhost home]# chmod 777 ./test.sh 
    [root@localhost home]# ls
    test.sh
    [root@localhost home]# 
    

    5、定时执行,设置每隔 1 分钟执行一次 /home/test.sh 可执行文件

    [root@localhost home]# ls
    test.sh
    [root@localhost home]# crontab -e
    */1 * * * * /home/test.sh
    

    五)其它示例

    0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata   周一到周五每天下午 5:00 寄一封信给 alex@domain.name:
    20 0-23/2 * * * echo "haha"   每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
    0 */2 * * * /sbin/service httpd restart  意思是每两个小时重启一次apache 
    50 7 * * * /sbin/service sshd start  意思是每天7:50开启ssh服务 
    50 22 * * * /sbin/service sshd stop  意思是每天22:50关闭ssh服务 
    0 0 1,15 * * fsck /home  每月1号和15号检查/home 磁盘 
    1 * * * * /home/bruce/backup  每小时的第一分执行 /home/bruce/backup这个文件 
    00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;  每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
    30 6 */10 * * ls  意思是每月的1、11、21、31日是的6:30执行一次ls命令

    CentOS 自动同步系统时间

    1、Linux 需要通过一些操作才能自动同步系统时间,比如虚拟机中的 CentOS 一段时间不用,它的系统时间就容易出现偏差,而当 CentOS 作为服务器运行时,也存在同样的问题,如果不加设置,也会出现时间偏差,此时对于做业务的服务器来说是非常严重的。

    2、Linux 中自动同步时间的方式也有许多,这里介绍比较常用的 ntpdate 命令。

    一:检查/设置时区

    timedatectl status|grep 'Time zone'   #查看系统当前时区,如果不是中国时区(Asia/Shanghai),则需要设置

    timedatectl set-local-rtc 1        #设置硬件时钟调整为与本地时钟一致

    timedatectl set-timezone Asia/Shanghai         #设置时区为上海

    [root@wangmaoxiong001 wangmx]# timedatectl status|grep 'Time zone'
           Time zone: Asia/Shanghai (CST, +0800)
    [root@wangmaoxiong001 wangmx]# timedatectl set-local-rtc 1
    [root@wangmaoxiong001 wangmx]# timedatectl set-timezone Asia/Shanghai
    timedatectl set-timezone Asia/Shanghai
    [root@wangmaoxiong001 wangmx]# 
    

    二、检查/安装 ntpdate

    yum list ntpdate   #检查是否已经安装

    yum install ntpdate  #未安装时,进行安装

    [root@wangmaoxiong001 wangmx]# yum list ntpdate
    已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-manager
    
    This system is not registered with an entitlement server. You can use subscription-manager to register.
    
    Loading mirror speeds from cached hostfile
     * base: mirrors.ustc.edu.cn
     * extras: mirrors.ustc.edu.cn
     * updates: mirrors.ustc.edu.cn
    已安装的软件包
    ntpdate.x86_64                                                   4.2.6p5-29.el7.centos.2                                                    @base
    [root@wangmaoxiong001 wangmx]# 

    三:手动更新时间

    ntpdate -u pool.ntp.org            #更新时间,后面的 pool.ntp.org、time1.aliyun.com 表示时间服务器地址,可以是任何有效的都可以

    ntpdate -u time1.aliyun.com    #更新时间,后面的 pool.ntp.org、time1.aliyun.com 表示时间服务器地址,可以是任何有效的都可以

    [root@wangmaoxiong001 wangmx]# date
    2020年 12月 14日 星期一 14:56:15 CST
    [root@wangmaoxiong001 wangmx]# ntpdate -u  pool.ntp.org
    13 Dec 14:57:02 ntpdate[2285]: step time server 84.16.73.33 offset -86374.039288 sec
    [root@wangmaoxiong001 wangmx]# date
    2020年 12月 13日 星期日 14:57:10 CST

    四、定时更新时间

    同步时间后,服务器过一段时间仍然有可能会出现偏差,因此最好设置 crontab 来定时同步时间,方法如下:

    which ntpdate   #查看 ntpdate 安装的位置,通常是  /usr/sbin/ntpdate

    crontab -e         #编辑任务计划,保存退出后,自动生效,无需重启。

    * */1 * * * /usr/sbin/ntpdate -u pool.ntp.org >> /home/wangmx/a.txt 2>&1    #添加任务计划,每1小时更新一次时间,并将日志写入到 /home/wangmx/a.txt 文件中

    * */1 * * * /usr/sbin/ntpdate -u pool.ntp.org >> /dev/null 2>&1      #添加任务计划,每1小时更新一次时间,输入输出信息不做记录

    五、开机自动更新时间

    vim /etc/rc.d/rc.local                   #编辑系统文件,系统启动后会自动执行此文件
    ntpdate -u pool.ntp.org              #将命令添加到 rc.local 文件末尾,表示开机后自动更新系统时间

    chmod +x /etc/rc.d/rc.local        #添加可执行权限

     

     

    展开全文
  •  timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步。  在本教程中,我要讲的是,如何在你的Linux系统上,通过使用...

      timedatectl命令对于RHEL / CentOS 7和基于Fedora 21+的分布式系统来说,是一个新工具,它作为systemd系统和服务管理器的一部分,代替旧的传统的用在基于Linux分布式系统的sysvinit守护进程的date命令。

      timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步。

      在本教程中,我要讲的是,如何在你的Linux系统上,通过使用来自于终端使用timedatectl命令的NTP,设置date、time、timezone和synchronize time来管理时间。让你的Linux服务器或系统保持正确的时间是一个很好的实践,它有以下优点:

      1)维护及时操作的系统任务,因为在Linux中的大多数任务都是由时间来控制的。

      2)记录事件和系统上其它信息等的正确时间。

     

    将Linux系统时钟同步到远程NTP服务器

      NTP即Network Time Protocol(网络时间协议),是一个互联网协议,用于同步计算机之间的系统时钟。timedatectl实用程序可以自动同步你的Linux系统时钟到使用NTP的远程服务器。

      注意,你必须在系统上安装NTP以实现与NTP服务器的自动时间同步。

      要开始自动时间同步到远程NTP服务器,在终端键入以下命令。

    # timedatectl set-ntp true

      或者:timedatectl set-ntp yes

         要禁用NTP时间同步,在终端键入以下命令。

    # timedatectl set-ntp false

    如何查找和设置Linux本地时区

    1、要显示系统的当前时间和日期,使用命令行中的timedatectl命令,如下:

    # timedatectl status

      在上面的示例中,RTC time就是硬件时钟的时间。

    2、Linux系统上的time总是通过系统上的timezone设置的,要查看当前时区,按如下做:

    # timedatectl 
    OR
    # timedatectl | grep Time

    3、要查看所有可用的时区,运行以下命令:

    # timedatectl list-timezones

    4、要根据地理位置找到本地的时区,运行以下命令:

    # timedatectl list-timezones | egrep -o ‘’Asia/B.*”
    # timedatectl list-timezones | egrep -o “Europe/L.*”
    # timedatectl list-timezones | egrep -o “America/N.*”

    5、要在Linux中设置本地时区,使用set-timezone开关,如下所示。

    # timedatectl set-timezone "Asia/Kolkata"

      中国上海的时区:

    # timedatectl set-timezone "Asia/Shanghai"

       推荐使用和设置协调世界时,即UTC。

    # timedatectl set-timezone UTC

       你需要输入正确命名的时区,否者在你改变时区的时候,可能会发生错误。在下面的例子中,由于 “Asia/Kalkata” 这个时区是不正确的,因此导致了错误。

     

    如何在Linux中设置时间和日期

      你可以使用timedatectl命令,设置系统上的日期和时间,如下所示:

    6、设置Linux中的时间。只设置时间的话,我们可以使用set-time开关以及HH:MM:SS(小时,分,秒)的时间格式。

    # timedatectl set-time 15:58:30

     7、在Linux中设置日期。只设置日期的话,我们可以使用set-time开关以及YY:MM:DD(年,月,日)的日期格式。

    # timedatectl set-time 20151120

    8、设置日期和时间:

    # timedatectl set-time '16:10:40 2015-11-20'

     

    如何在Linux中查找和设置硬件时钟


     

    9、要设置硬件时钟以协调世界时,UTC,可以使用 set-local-rtc boolean-value选项,如下所示:

      首先确定你的硬件时钟是否设置为本地时区:

    # timedatectl | grep local

      将你的硬件时钟设置为本地时区:

    # timedatectl set-local-rtc 1

      将你的硬件时钟设置为协调世界时(UTC):

    # timedatectl set-local-rtc 0


    原文链接:http://www.codeceo.com/article/linux-timedatectl-set-time.html

                      https://www.cnblogs.com/zhi-leaf/p/6282301.html

    英文原文:How to Set Time, Timezone and Synchronize System Clock Using timedatectl Command

    展开全文
  •  timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步。  在本教程中,我要讲的是,如何在你的Linux系统上,通过使用...

     timedatectl命令对于RHEL / CentOS 7和基于Fedora 21+的分布式系统来说,是一个新工具,它作为systemd系统和服务管理器的一部分,代替旧的传统的用在基于Linux分布式系统的sysvinit守护进程的date命令。

      timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步。

      在本教程中,我要讲的是,如何在你的Linux系统上,通过使用来自于终端使用timedatectl命令的NTP,设置date、time、timezone和synchronize time来管理时间。让你的Linux服务器或系统保持正确的时间是一个很好的实践,它有以下优点:

      1)维护及时操作的系统任务,因为在Linux中的大多数任务都是由时间来控制的。

      2)记录事件和系统上其它信息等的正确时间。

     

    如何查找和设置Linux本地时区

    1、要显示系统的当前时间和日期,使用命令行中的timedatectl命令,如下:

    # timedatectl status

      在上面的示例中,RTC time就是硬件时钟的时间。

    2、Linux系统上的time总是通过系统上的timezone设置的,要查看当前时区,按如下做:

    # timedatectl 
    OR
    # timedatectl | grep Time

    3、要查看所有可用的时区,运行以下命令:

    # timedatectl list-timezones

    4、要根据地理位置找到本地的时区,运行以下命令:

    # timedatectl list-timezones | egrep -o ‘’Asia/B.*”
    # timedatectl list-timezones | egrep -o “Europe/L.*”
    # timedatectl list-timezones | egrep -o “America/N.*”

    5、要在Linux中设置本地时区,使用set-timezone开关,如下所示。

    # timedatectl set-timezone "Asia/Kolkata"

      中国上海的时区:

    # timedatectl set-timezone "Asia/Shanghai"

       推荐使用和设置协调世界时,即UTC。

    # timedatectl set-timezone UTC

       你需要输入正确命名的时区,否者在你改变时区的时候,可能会发生错误。在下面的例子中,由于 “Asia/Kalkata” 这个时区是不正确的,因此导致了错误。

     

    如何在Linux中设置时间和日期

      你可以使用timedatectl命令,设置系统上的日期和时间,如下所示:

    6、设置Linux中的时间。只设置时间的话,我们可以使用set-time开关以及HH:MM:SS(小时,分,秒)的时间格式。

    # timedatectl set-time 15:58:30

     7、在Linux中设置日期。只设置日期的话,我们可以使用set-time开关以及YY:MM:DD(年,月,日)的日期格式。

    # timedatectl set-time 20151120

    8、设置日期和时间:

    # timedatectl set-time '16:10:40 2015-11-20'

     

    如何在Linux中查找和设置硬件时钟


     

    9、要设置硬件时钟以协调世界时,UTC,可以使用 set-local-rtc boolean-value选项,如下所示:

      首先确定你的硬件时钟是否设置为本地时区:

    # timedatectl | grep local

      将你的硬件时钟设置为本地时区:

    # timedatectl set-local-rtc 1

      将你的硬件时钟设置为协调世界时(UTC):

    # timedatectl set-local-rtc 0

     

    将Linux系统时钟同步到远程NTP服务器

      NTP即Network Time Protocol(网络时间协议),是一个互联网协议,用于同步计算机之间的系统时钟。timedatectl实用程序可以自动同步你的Linux系统时钟到使用NTP的远程服务器。

      注意,你必须在系统上安装NTP以实现与NTP服务器的自动时间同步。

      要开始自动时间同步到远程NTP服务器,在终端键入以下命令。

    # timedatectl set-ntp true

      要禁用NTP时间同步,在终端键入以下命令。

    # timedatectl set-ntp false
    展开全文
  • 命令记录

    2018-10-31 14:26:58
    timedatectl命令对于RHEL / CentOS 7和基于Fedora 21+的分布式...timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步...

    Linux

    pvmove

    当我们要替换掉lvm中的一块磁盘时,要保证里面没有数据,需要使用pvmove进行数据迁移

    [root@k8master ~]# pvmove /dev/vdb
      /dev/vdb: Moved: 0.01%
      /dev/vdb: Moved: 2.21%
      /dev/vdb: Moved: 6.18%
    

    cfdisk

    fdisk有时候会分区失败,可尝试使用cfdisk

    [root@k8master ~]# cfdisk /dev/vda 
    
                                                                             cfdisk (util-linux 2.23.2)
    
                                                                                Disk Drive: /dev/vda
                                                                         Size: 128849018880 bytes, 128.8 GB
                                                               Heads: 16   Sectors per Track: 63   Cylinders: 249660
    
    

    timedatectl

    timedatectl命令对于RHEL / CentOS 7和基于Fedora 21+的分布式系统来说,是一个新工具,它作为systemd系统和服务管理器的一部分,代替旧的传统的用在基于Linux分布式系统的sysvinit守护进程的date命令。

    timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步。

    可以通过使用来自于终端使用timedatectl命令的NTP,设置date、time、timezone和synchronize time来管理时间。让你的Linux服务器或系统保持正确的时间是一个很好的实践,它有以下优点:

    1)维护及时操作的系统任务,因为在Linux中的大多数任务都是由时间来控制的。

    2)记录事件和系统上其它信息等的正确时间。

    1. 要显示系统的当前时间和日期,使用命令行中的timedatectl命令,如下:
    [root@develop ~]# timedatectl status
          Local time: Wed 2018-10-31 14:05:51 CST
      Universal time: Wed 2018-10-31 06:05:51 UTC
            RTC time: Wed 2018-10-31 06:05:53 
           Time zone: Asia/Shanghai (CST, +0800)
         NTP enabled: n/a
    NTP synchronized: no
     RTC in local TZ: no
          DST active: n/a
    [root@develop ~]# 
    

    RTC time(real-time clock)是指硬件时钟时间
    Time zone:时区

    1. 查看系统所有可用的时区
    [root@develop ~]# timedatectl  list-timezones 
    Africa/Abidjan
    Africa/Accra
    Africa/Addis_Ababa
    Africa/Algiers
    Africa/Asmara
    Africa/Bamako
    Africa/Bangui
    Africa/Banjul
    
    1. 设置系统时区
    [root@develop ~]# timedatectl set-timezone Asia/Shanghai
    [root@develop ~]# 
    
    1. 设置Linux中的时间。只设置时间的话,我们可以使用set-time开关以及HH:MM:SS(小时,分,秒)的时间格式。
    [root@develop ~]# timedatectl set-time 14:17:01
    [root@develop ~]# 
    
    1. 将硬件时钟设置为本地时区
    timedatectl set-local-rtc 1
    
    1. 将硬件时钟设置为协调世界时(UTC)
    timedatectl set-local-rtc 0
    
    1. 将Linux系统时钟同步到远程NTP服务器
      NTP即Network Time Protocol(网络时间协议),是一个互联网协议,用于同步计算机之间的系统时钟。timedatectl实用程序可以自动同步你的Linux系统时钟到使用NTP的远程服务器。
      注意,你必须在系统上安装NTP以实现与NTP服务器的自动时间同步。
      要开始自动时间同步或禁止同步远程NTP服务器时间,在终端键入以下命令。
    # timedatectl set-ntp true
    # timedatectl set-ntp false
    

    arping

    arp在获取目标ip的mac后,会缓存一段时间,所以当目标IP的mac变更后需要通知其他设备 更新arp缓存,此时就可以通过以下命令完成

    arping -U
    

    compgen

    可用来返回系统所有的用户

    compgen -u
    

    arptable

    设置arp规则表,如禁止virtual_ip的arp请求
    arptables -A IN -d <virtual_ip> -j DROP
    arptables -A OUT -s <virtual_ip> -j mangle --mangle-ip-s <real_ip>

    openstack

    placement管理

    openstack --os-placement-api-version 1.6 trait list --sort-column name
    openstack --os-placement-api-version 1.2 resource class list --sort-column name
    

    加载meta信息

    加载后可在flavor中查看这些元数据

    glance-manage db_load_metadefs
    

    打开路由的外部网络snat功能,使得无浮动ip的vm依然可以访问公网,命令如下:

    [root@vs-controller1 ~(VisionStack)]$ openstack router set --external-gateway 8dc253e4-cb7c-4ce4-9db7-ce501c070caf --enable-s
    nat e762fefa-ddc8-4d03-9f31-9f1c613d85a3
    

    原理解析
    1)当enable-snat为True时,会对VM的固定ip进行snat转换,转换成外部网络的地址,该过程是在snat命名空间中由iptables完成,如下所示:

    Chain neutron-l3-agent-snat (1 references)
    target     prot opt source               destination         
    neutron-l3-agent-float-snat  all  --  0.0.0.0/0            0.0.0.0/0           
    SNAT       all  --  0.0.0.0/0            0.0.0.0/0            to:124.160.117.108 (该规则将源ip转换为124.160.117.108)
    SNAT       all  --  0.0.0.0/0            0.0.0.0/0            mark match ! 0x2/0xffff ctstate DNAT to:124.160.117.108
    

    通过抓包可以确认vm源IP已变为124.160.117.108

    17:40:37.507285 IP 124.160.117.108 > 114.114.114.114: ICMP echo request, id 1311, seq 4, length 64
    17:40:37.526980 IP 114.114.114.114 > 124.160.117.108: ICMP echo reply, id 1311, seq 4, length 64
    

    2)当enable-snat为False时,不会对vm的固定ip进行snat(源地址替换)转换,由于vm的固定ip为云内网络,无法完成云外网络的访问,iptables规则如下:

    neutron-l3-agent-float-snat  all  --  0.0.0.0/0            0.0.0.0/0           
    SNAT       all  --  0.0.0.0/0            0.0.0.0/0            mark match ! 0x2/0xffff ctstate DNAT to:124.160.117.108
    

    注意:无论是否开启snat,snat中的qg口都会存在snat ip(124.160.117.108)

    更新浮动IP池

    neutron subnet-update 52ae4db1-b8aa-4f4f-aee8-9818b7ff3ae5 --allocation-pools  type=dict list=true start=60.191.72.103,end=60.191.72.109 start=60.191.72.100,end=60.191.72.100 
    

    更新子网DNS

    neutron subnet-update 2997b922-c62b-4280-8121-79dbd36fc253  --dns_nameservers list=true 223.5.5.5 114.114.114.114 223.6.6.6
    

    docker

    docker ps

    列出所以容器实例
    -a:包含已终止的容器
    -l:列出最后一次运行的容器
    -q:只返回id

    [root@docker-test-18d031cc merged]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
    999ae928e834        ubuntu              "/bin/bash"         17 minutes ago      Exited (0) 4 seconds ago                       zealous_jennings
    

    说明:STATUS为容器状态,上面示例中为容器已退出,状态码为0

    docker run

    启动一个容器
    -d:后台运行
    -t:创建一个tty终端
    -i:交互式模式
    -p:映射容器内端口至宿主机,如 -p 80(将)

    [root@docker-test-18d031cc ~]# docker run --name daemon_test -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"
    
    fd032195ed02833f4ba59f65aa548316802559d73eb29c606d9baa203ea81059
    

    docker start

    重新启动一个已经停止的容器,会沿用docker run命令时指定的参数

    [root@docker-test-18d031cc ~]# docker start 999ae928e834
    

    docker attach

    重新附着到容器的会话上

    [root@docker-test-18d031cc ~]# docker attach 999ae928e834
    root@999ae928e834:/# ls
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    

    docker logs

    获取容器日志
    -f:跟踪日志,与tail -f相似
    –tail 10:打印最后10行
    -t:日志加上时间戳

    [root@docker-test-18d031cc log]# docker logs --tail 10 -t daemon_test
    2019-10-14T03:36:25.897660000Z hello world
    2019-10-14T03:36:26.898865000Z hello world
    2019-10-14T03:36:27.900556000Z hello world
    

    docker top

    查看容器内部运行的进程

    [root@docker-test-18d031cc log]# docker top daemon_test
    UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
    root                17616               17597               0                   11:20               ?                   00:00:00            /bin/sh -c while true;do echo hello world;sleep 1;done
    root                19427               17616               0                   11:39               ?                   00:00:00            sleep 1
    

    docker exec

    在容器内部运行进程

    [root@docker-test-18d031cc log]# docker exec -d daemon_test touch /etc/hjtest
    [root@docker-test-18d031cc log]# docker exec -i -t daemon_test /bin/bash
    

    docker stop

    停止容器内的守护进程

    [root@docker-test-18d031cc log]# docker stop daemon_test
    daemon_test
    [root@docker-test-18d031cc log]# docker ps -n 1
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES
    fd032195ed02        ubuntu              "/bin/sh -c 'while..."   29 minutes ago      Exited (137) 33 seconds ago                       daemon_test
    

    docker restart

    自动重启容器
    –restart=always:无论容器退出码是什么都会一直重启
    –restart=on-failure:5 退出码为非0时重启5次

    [root@docker-test-18d031cc log]# docker run --restart=on-failure:2 --name daemon_test -d ubuntu /bin/sh -c "while true;do echo 
    hello world;sleep 1;done" 
    bb3d632be42bc55f08d563b1e416c310f79320669bad4801f1b6f085cdd01646
    

    docker inspect

    查看容器详细信息
    –format:格式化输出,可自定义查看内容

    [root@docker-test-18d031cc log]# docker inspect daemon_test
    [
        {
            "Id": "03d2b20d10a1257430cca615f569c074c600b6a80177c6121fcf0d4325dfb464",
            "Created": "2019-10-14T03:56:38.802914484Z",
            "Path": "/bin/sh",
            "Args": [
                "-c",
                "while true;do echo hello world;sleep 1;done"
            ],
    [root@docker-test-18d031cc log]# docker inspect --format '{{.Name}}' daemon_test 
    

    docker rm

    删除容器,只能删除已停止运行的容器

    [root@docker-test-18d031cc log]# docker rm `docker ps -a -q` 
    

    docker images

    列出容器镜像

    [root@docker-test-18d031cc log]# docker images 
    

    docker pull

    拉取镜像

    [root@docker-test-18d031cc log]# docker pull ubuntu
    

    docker search

    查找镜像,在Docker Hub上

    [root@docker-test-18d031cc overlay2]# docker search puppet
    

    docker commit

    创建新镜像(不推荐,建议使用Dockerfile文件和docker build命令)

    [root@docker-test-18d031cc overlay2]# docker commit a3b2cccf4b94 zhj/test
    sha256:afd7cf487aa1a46ac3a10fb44efc5f82f6167902ee82eae02ec76ce7ad8729c7
    

    docker build

    创建新镜像,通过Dockerfile
    –no-cache:忽略Dockerfile的构建缓存

    [root@docker-test-18d031cc static_web]# vim Dockerfile 
    # Version: 0.0.1
    FROM ubuntu:14.04
    MAINTAINER Zhj "zhj@tairanchina.com"
    RUN apt-get update
    RUN apt-get install -y nginx
    RUN echo 'Hi, I am in your container' > /usr/share/nginx/html/index.html
    EXPOSE 80
    
    [root@docker-test-18d031cc static_web]# docker build -t="zhj/static_web" .
    

    docker history

    查看镜像的创建过程

    [root@docker-test-18d031cc ~]# docker history zhj/test 
    IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
    8930f03b4b66        43 minutes ago      /bin/bash                                       1.75 MB             
    0f3e07c0138f        12 days ago         /bin/sh -c #(nop)  CMD ["/bin/bash"]            0 B                 
    <missing>           12 days ago         /bin/sh -c #(nop)  LABEL org.label-schema....   0 B                 
    <missing>           12 days ago         /bin/sh -c #(nop) ADD file:d6fdacc1972df52...   220 MB     
    

    docker port

    查看容器端口映射信息

    [root@docker-test-18d031cc static_web]# docker port 97cc68a8a2d7
    80/tcp -> 0.0.0.0:32770
    [root@docker-test-18d031cc static_web]# docker port 97cc68a8a2d7 80
    0.0.0.0:32770
    

    docker push

    上传镜像至镜像仓库

    docker rmi

    删除镜像

    修改docker仓库

    [root@master k8s]# cat /etc/docker/daemon.json
    {"registry-mirrors": ["http://hub-mirror.c.163.com"]}
    

    Dockerfile 指令

    CMD

    指定一个容器启动时要运行的命令
    如Dockerfile中配置为:CMD [ “/bin/bash” ],通过该Dockerfile构建的镜像启动容器时不需要在命令行指定/bin/bash
    注意:docker run时命令行指定的命令优先级大于Dockerfile中CMD指定的命令

    [root@docker-test-18d031cc static_web]# cat Dockerfile 
    # Version: 0.0.1
    FROM nginx
    MAINTAINER Zhj "zhj@tairanchina.com"
    CMD [ "/bin/bash" ]
    [root@docker-test-18d031cc static_web]# docker run -i -t zhj/static_web 
    

    ENTRYPOINT

    通过数组的方式为命令指定相应的参数,命令行指定的参数会传递给ENTRYPOINT

    WORKDIR

    指定容器内的工作目录,ENTRYPOINT和CMD中的指令会在该目录下执行
    -w:docker run该参数可以覆盖WORKDIR

    WORKDIR /opt/webapp/db 
    RUN bundle install 
    WORKDIR /opt/webapp 
    ENTRYPOINT [ "rackup" ]
    

    ENV

    镜像制作过程中设置环境变量,也可以使用docker run -e覆盖

    USER

    指定以哪个用户执行命令,也可以在docker run中通过-u选项覆盖,默认用户为root

    VOLUME

    用来向基于镜像创建的容器添加卷

    ADD

    向镜像中拷贝文件,源类型支持url、文件、目录,并会自动解压压缩文件

    COPY

    向镜像中拷贝文件,不会解压源文件

    ONBUILD

    构建镜像时触发的动作,只能继承给子镜像

    K8s

    kubectl delete nodes

    删除k8s集群中node节点

    [root@k8master kansible]# kubectl delete nodes node1
    node "node1" deleted
    

    kubectl get/create/delete namespaces

    命名空间管理

    [root@k8master kansible]# kubectl create namespace hjtest2
    [root@k8master kansible]# kubectl get namespaces
    NAME          STATUS    AGE
    default       Active    10d
    hjtest        Active    10d
    hjtest2       Active    3s
    kube-public   Active    10d
    kube-system   Active    10d
    [root@k8master kansible]# kubectl delete namespaces hjtest2
    

    kubectl api-versions

    获取k8s api版本

    [root@hjdevelop ~]# kubectl api-versions 
    apps/v1beta1
    authentication.k8s.io/v1beta1
    authorization.k8s.io/v1beta1
    autoscaling/v1
    batch/v1
    certificates.k8s.io/v1alpha1
    extensions/v1beta1
    policy/v1beta1
    rbac.authorization.k8s.io/v1alpha1
    storage.k8s.io/v1beta1
    v1
    [root@hjdevelop ~]# 
    

    kubeadm token create --print-join-command

    打印加入集群token信息

    [root@master k8s]# kubeadm token create --print-join-command
    kubeadm join apiserver.demo:6443 --token ea093t.mmn0ia2np3ck4jdg     --discovery-token-ca-cert-hash sha256:1392000d39e3d79e28aa75ecf10d011b06fe90fab3792ba93a5adcb5d6e4724f 
    

    批量删除pods

    kubectl get pods|grep MatchNodeSelector|awk '{print $1}'|xargs kubectl delete pods
    

    kubectl attach -it nginxname -c shell1

    attach到一个容器中,前提是该容器设置了tty和stdin

    [root@master shareProcessNamespace]# kubectl attach -it nginxname -c shell1
    If you don't see a command prompt, try pressing enter.
    / # top
    

    K8S yaml

    ImagePullPolicy

    镜像拉群策略。
    IfNotPresent:只在宿主机上不存在这个镜像时才拉取
    Never:永远不会主动拉取这个镜像
    Always:每次创建 Pod 都重新拉取一次镜像

    Lifecycle

    展开全文
  • Linux下使用timedatectl... timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统时钟同步。  在本教程中,我要讲的是,如何在你的L
  • CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...
  • linux时间相关命令

    2012-06-27 08:36:22
    查看时区:# cat /etc/sysconfig/clock 查看系统时间:# date ...自动同步时间使用ntpdate命令,可以查找下相关教程。 如果ntpdate相关的端口被封,可以使用htpdate工具作替代方案。 htpdate一些操作方
  • 在 Xen 的默认设置下,domainU 的时间总是要自动和 domain0 保持同步,所以想简单的在 domainU 内部用各种时间、日期命令改变 domainU 的系统时间并不起作用。如何给 domainU 设置单独的时钟而不受 do
  • 千里马酒店前台管理系统V7使用手册

    热门讨论 2011-06-16 14:09:38
    软件从产品规划、需求分析、系统设计、程序设计、同步测试、发布管理、维护升级的全过程均按照严格的软件工程方法来管理。所谓“模式决定优势”,软件产品的质量是设计开发出来的,而不是测试修补出来的。 V7.2前台...
  • 图书管理系统毕业设计+源码-java

    千次下载 热门讨论 2012-05-06 13:45:09
     读者生日(日期/时间)  读者出生地(文本)  读者借书索书号(数字)  读者借书情况(是/否)  附注(文本)  将读者借书证号设置为主关键字,以主关键字建立索引。  中文图书数据库包括的字段及其属性有...
  • 修订了Moodle集成代码,实现HUSTOJ给moodle系统作业自动判分。 01-20 更新 删除 noip 模式比赛的多余提交记录,允许自定义 noip 关键词,增加 privilege 表 user_id 索引。 2019年 日期 类型 更新内容 ...
  • Linux 下timedatectl 的使用

    千次阅读 2018-08-26 12:16:07
    或实现与远程NTP服务器的自动系统时钟同步。 datetimectl命令自CentOS7 版本被引入。 1.显示当前系统的时间和日期时区信息: # timedatectl status Local time: Sun 2018-08-26 04:01:12 CST ...
  • 修改服务器时间

    千次阅读 2019-01-22 16:55:46
    Linux date命令可以用来显示或设定系统日期与时间;菜鸟链接:菜鸟链接 如: date -s "2019-02-12 13:30:00",date 可查看修改后的时间, 修改后发现 liunx 会自动同步时间 可修改服务器网络配置...
  • 命令是用于填表同步验证码的,所以 请直接使用“普通填表.网页_验证码同步”,使用前请确保已经“普通填表.初始化” 1.修复 类_识图 的“找图_从句柄” 感谢会员 今朝 的提醒 和 果子 提供解决方案 精易模块 V...
  • 精易模块[源码] V5.15

    2015-03-21 22:03:37
    10、新增“系统_信息框Ex”定时信息框,超时后自动销毁。 效验MD5:A8EA46EB0FA7395F9355E37286B32742 精易模块 V3.86 what’s new:(20141001) 1、修正“进程_名取句柄”部分机器返回零的BUG。感谢易友【liu...
  • 出版日期:2010 年6月 开本:16开 页码:1033 版次:1-1 所属分类:计算机 > 数据库 > Oracle 内容简介  本书针对大多数日常的oracle database 11g数据库管理任务,全面覆盖dba行业知识,并将理论与实践相结合,...
  • 3.2.2 date——系统日期 97 3.2.3 time——系统时间 98 3.2.4 w32tm——时间服务 98 3.2.5 cmd——命令行 101 3.2.6 doskey——命令行宏 102 3.2.7 exit——退出命令行 103 3.3 显示系统信息 103 3.3.1 driverquery...
  • 3.2.2 date——系统日期 97 3.2.3 time——系统时间 98 3.2.4 w32tm——时间服务 98 3.2.5 cmd——命令行 101 3.2.6 doskey——命令行宏 102 3.2.7 exit——退出命令行 103 3.3 显示系统信息 103 3.3.1 driverquery...
  • 摘要:VB源码,其它类别,C语言编辑器  由VB代码开发的C语言编辑器,软件功能:  1.具备记事本的所有编辑功能;...若您在TC中执行另存为命令后在本软件中刷新按钮将无法实现两个程序的同步.其他信息参见帮助文件.
  • 自动化代码检查 sonar 代码规范 阿里巴巴Java开发规范手册 UMPAY——编码规范 日志规范 异常规范 网络 协议 TCP/IP HTTP hession file HTTPS 负载均衡 容器 JBOSS tomcat resin jetty 容灾 ...
  • 世恒通用安装系统文件压缩模块.ec 丫头皮肤模块.ec 五笔编码查询模块.ec 优化内存.ec 优化内存模块.ec 优码专用模块.ec 伟业超级列表框列宽尺寸自动调整.ec 伟业高级表格列宽尺寸自动调整.ec 信息提示框控件(Tip).ec...
  • 双击摄像机节点自动播放视频,双击节点自动依次添加视频,会自动跳到下一个,双击父节点自动添加该节点下的所有视频。 摄像机节点拖曳到对应窗体播放视频,同时支持拖曳本地文件直接播放。 视频画面窗体支持拖曳交换...
  • RED HAT LINUX 6大全

    热门讨论 2011-10-21 18:46:06
    4.8 使用Red Hat的wmconfig命令 54 4.9 个人化的X资源文件 54 4.10 使用xdm 55 4.11 XFree86疑难解答 57 4.12 小结 57 第5章 窗口管理器 58 5.1 GNOME X环境 59 5.1.1 什么是GNOME 59 5.1.2 GNOME 安装组件 59 5.1.3...
  • X-Scan v3.1

    2018-10-22 08:43:03
    A:如果系统未安装WinPCap驱动,X-Scan启动后会自动安装WinPCap 2.3;如果系统已经安装了WinPCap更高版本,X-Scan则使用已有版本。“WinPCap 3.1 beta”中存在BUG,可能导致X-Scan扫描进程异常,建议使用“WinPCap ...
  • 出版日期:2011 年4月 开本:16开 页码:612 版次:1-1 内容简介  最大程度地利用oracle恢复管理器的功能  《oracle database 11g rman备份与恢复》提供了在硬件、软件、操作发生故障时保护数据库的详细信息。...
  • 1 建bat文件自动执行复制,删除命令。 例1:以下是复制cd.dll文件至windows\system32的bat文件内容: copy cd.dll %windir%\system32 例2:下面一行是卸载windows\system32目录中的cd.dll,即把上面复制的...
  • NOD32ID生成器

    2010-02-22 19:54:16
    2、修正因软件和ESET启动不同步后有时会导致软件停留在等待ESET启动更新的问题。 1.6.7.6更新:2009-03-06 1、解决配置较老的电脑在启动时会因ESET启动慢过ID获取器而出现无法写入ID和密码的问题。 1.6.7.7更新:...
  • 易语言模块大全

    2018-08-07 13:01:30
    DOS命令模块.ec EC.EC EdbServer1.0客户端.ec EDB、高级表格、XLS互换.ec edb到html-1.0.ec EDB数据库客户端模块 1.0.ec edb数据库转Excel模块 1.0.ec edb数据库转Excel模块 1.3.ec edb转xls.ec eOgr e....

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 135
精华内容 54
关键字:

命令自动同步系统日期