2018-03-26 Linux学习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-03-26 Linux学习相关的知识,希望对你有一定的参考价值。

10.23 Linux任务计划

crontab -u、-e、-l、-r
格式:分 时 日 月 周 user command
文件  /var/spool/cron/username
分范围 0-59;时范围 0-23;日范围 0-31;月范围 0-12;周范围1-6
可用格式 1-5 表示一个范围1到5
可用格式 1,2,3 表示1或2或3
可用格式 */2 表示被2整除的数字,比如小时,那就是每隔2小时
要保证服务是启动状态
systemctl start crond.service

    [[email protected] ~]# cat /etc/crontab 
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root

    # For details see man 4 crontabs

    # Example of job definition:
    # .---------------- 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

crontab -e  编辑任务
crontab -l  列出任务
crontab -u root -l  列出指定用户任务

10.24 chkconfig 工具

    chkconfig --list
    chkconfig --level 3 network off
    chkconfig --level 345 network off
    chkconfig --del network
    chkconfig --add network

        [[email protected] ~]# chkconfig --list

        注:该输出结果只显示 SysV 服务,并不包含
        原生 systemd 服务。SysV 配置数据
        可能被原生 systemd 配置覆盖。 

              要列出 systemd 服务,请执行 ‘systemctl list-unit-files‘。
              查看在具体 target 启用的服务请执行
              ‘systemctl list-dependencies [target]‘。

        netconsole      0:关 1:关 2:关 3:关 4:关 5:关 6:关
        network         0:关 1:关 2:开 3:开 4:开 5:开 6:关

10.25 systemd

systemctl list-units --all --type=service

几个常用的服务相关的命令
    systemctl enable crond.service    //让服务开机启动
    systemctl disable crond    //禁止开机启动
    systemctl status crond    //查看状态
    systemctl stop crond      //停止服务
    systemctl start crond    //启动服务
    systemctl restart crond   //重启服务
    systemctl is-enable crond   //检查服务是否启动

        [[email protected] ~]# cat /etc/systemd/system/multi-user.target.wants/crond.service 
        [Unit]
        Description=Command Scheduler
        After=auditd.service systemd-user-sessions.service time-sync.target

        [Service]
        EnvironmentFile=/etc/sysconfig/crond
        ExecStart=/usr/sbin/crond -n $CRONDARGS
        ExecReload=/bin/kill -HUP $MAINPID
        KillMode=process

        [Install]
        WantedBy=multi-user.target

        [[email protected] ~]# ls -l /etc/systemd/system/multi-user.target.wants/crond.service 
        lrwxrwxrwx. 1 root root 37 2月  28 05:03 /etc/systemd/system/multi-user.target.wants/crond.service -> /usr/lib/systemd/system/crond.service

10.26 unit 介绍

ls /usr/lib/systemd/system //系统所有 unit,分为以下类型

service  系统服务
target   多个unit组成的组
device   硬件设备
mount    文件系统挂载点
automount  自动挂载点
path     文件或路径
scope    不是由systemd启动的外部进程
slice    进程组
snapshot systemd 快照
socket   进程间通信套接字
swap     swap 文件
timer    定时器

    [[email protected] system]# cd /usr/lib/systemd/system
    [[email protected] system]# ls -l runlevel*
    lrwxrwxrwx. 1 root root 15 3月   2 04:46 runlevel0.target -> poweroff.target
    lrwxrwxrwx. 1 root root 13 3月   2 04:46 runlevel1.target -> rescue.target
    lrwxrwxrwx. 1 root root 17 3月   2 04:46 runlevel2.target -> multi-user.target
    lrwxrwxrwx. 1 root root 17 3月   2 04:46 runlevel3.target -> multi-user.target
    lrwxrwxrwx. 1 root root 17 3月   2 04:46 runlevel4.target -> multi-user.target
    lrwxrwxrwx. 1 root root 16 3月   2 04:46 runlevel5.target -> graphical.target
    lrwxrwxrwx. 1 root root 13 3月   2 04:46 runlevel6.target -> reboot.target

unit 相关的命令
systemctl list-units    //列出正在运行的unit
systemctl list-units --all   //列出所有,包括失败的或者inactive的
systemctl list-units --all --state=inactive   //列出inactive的unit
systemctl list-units --type=service   //列出状态为active的service
systemctl is-active crond.service  //查看某个服务是否为active

    [[email protected] system]# systemctl is-active crond.service 
    active
    [[email protected] system]# systemctl is-enabled crond.service 
    enabled

10.27 target 介绍

系统为了方便管理用 target 来管理 unit
systemctl list-unit-files --type=target
systemctl list-dependencies multi-user.target  //查看指定 target 下面有哪些 unit
systemctl get-default   //查看系统默认的target
systemctl set-default multi-user.target   //设置系统默认 target
一个 service 属于一种类型的 unit
多个 unit 组成了一个 target
一个 target 里面包含了多个 service
cat /usr/lib/systemd/system/sshd.service   //看 [install] 部分

    [[email protected] system]# systemctl get-default
    multi-user.target
    [[email protected] system]# systemctl set-default multi-user.target 
    Removed symlink /etc/systemd/system/default.target.
    Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

    [[email protected] system]# cat /usr/lib/systemd/system/sshd.service 
    [Unit]
    Description=OpenSSH server daemon
    Documentation=man:sshd(8) man:sshd_config(5)
    After=network.target sshd-keygen.service
    Wants=sshd-keygen.service

    [Service]
    Type=notify
    EnvironmentFile=/etc/sysconfig/sshd
    ExecStart=/usr/sbin/sshd -D $OPTIONS
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=on-failure
    RestartSec=42s

    [Install]
    WantedBy=multi-user.target

以上是关于2018-03-26 Linux学习的主要内容,如果未能解决你的问题,请参考以下文章

linux学习:Nginx--常见功能配置片段与优化-06

2018-03-26

leetcode 刷题日志 2018-03-26

向Linus学习,让代码具有good taste

2018.03.26 Python-Pandas 字符串常用方法

2018-03-26(websocket自动断开连接)