设为首页 收藏本站
查看: 842|回复: 0

[经验分享] centos 7的systemctl

[复制链接]

尚未签到

发表于 2018-4-20 12:40:49 | 显示全部楼层 |阅读模式
  ps:
  说明:centos 7的systemctl功能感觉越来越多,单独整理一篇文章好了,仅收集资料,自己学习,没有进行学术讨论的水平,见谅。
  注意事项目:
  1.整篇几乎很少谈到权限问题,所以有异常不妨检查下权限问题。
  2.中文路径到底会不会出问题,有时候无法预知的,如非必要尽量不用中文路径,我帮朋友编译了5个软件也仅仅遇到一个异常,显示为编码xxx error。
  3.文件名带有下划线,我已经被此问题多次坑过了,windows系统我很喜欢用,而且出现问题,提示都是莫名其妙的,类似于没有参数、未载入之类的,原因我不懂。
一、计划任务

  •   建立可执行脚本
    vi /home/log-time.sh #保存如下内容:  
    #!/bin/bash
      
    cd /home&&mkdir logs
      
    time_str=$(date +%Y%m%d_%H%M%S)
      
    echo "$time_str" >> logs/"$time_str".log
  •   测试脚本是否正常运行
    /home/log-time.sh #执行脚本  
    ls /home/logs #结果如下:
      20171115_201312.log
    cat /home/logs/20171115_201312.log #结果如下:  20171115_201312
  •   建立服务
    vi /usr/lib/systemd/system/mytest.service #保存如下内容:  
    [Unit]
      
    Description=mytest
      
    [Service]
      
    Type=simple
      
    ExecStart=/home/log_time.sh
  •   测试服务是否正常运行
    Systemctl start mytest.service #执行此命令  
    cat /home/logs/20171115_201312.log #结果如下
      20171115_20131220171115_201532
  •   建立定时器
    vi /usr/lib/systemd/system/mytest.timer #保存如下内容:  
    [Unit]
      
    Description=mytest
      
    [Timer]
      
    OnCalendar=*-*-* *:*:00 #左往右分别是,年月日 小时分钟秒,当前的设置相当于每分钟执行一次
      
    Unit=mytest.service
      
    [Install]
      
    WantedBy=multi-user.target
  •   启动设定
    systemctl start mytest.timer #启动定时器  
    systemctl enable mytest.timer #开机启动定时器
      
    tail -f /home/logs/20171115_201312.log #有兴趣可以看看,结果就不写了
二、自定义开机启动服务之挂载windows共享

  •   安装硬盘兼容ntfs-3g,建立共享文件夹,根据经验不要使用中文路径,获取uid和gid。
    yum install epel* #官方默认源没有ntfs-3g,必须先安装这个,建议这个源为必装源。  
    yum install ntfs-3g #硬盘兼容
      
    mkdir /home/share #建立共享文件夹,注意权限
      
    id #获取当前帐号的uid和gid避免文件夹可以挂载但是无法操作,自建帐号好像是1000开始,假如是root帐号,结果如下:
      uid=0(root) gid=0(root) 组=0(root)
  •   共享脚本
    vi /home/share.sh #保存内容如下:  
    #!/bin/bash
      
    if [ `df | grep share | wc -l` -eq 0 ]; then
      
    mount -t cifs -o rw,username=win帐号,password=win密码,uid=0,gid=0,file_mode=0777 //ip/共享文件夹/   /home/share   #注意空格,如果空格错误,是无法挂载的也可以手动挂载一次看看命令是否可以成功
      
    fi
  •   建立服务
    vi /usr/lib/systemd/system/share.service #保存内容如下:  
    [Unit]
      
    Description=share
      
    After=network.target #网络共享当然需要网络先通对不?
      
    #Requires=network.target #根据man描述这个应该靠谱一点,但是实际情况它不行,也许我翻译错了。
      
    [Service]
      
    Type=forking #这个地方也纠结了很久,主要是无法配合网络启动,后面发现改成这样就可以了,图形界面最简单,用ide,不过登录要卡
      
    ExecStart=/home/share.sh
      
    [Install]
      
    WantedBy=multi-user.target
  •   启动设定
    systemctl enable share.service #后面那个.service可输可不输入。  
    systemctl start share.service

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-449661-1-1.html 上篇帖子: CentOS6.5基本命令汇总 下篇帖子: Centos7 安装zabbix-wangxiang
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表