iMac定时跑符号化iOSCrash脚本

首先启动 Apache 

1.启动
sudo apachectl -k start

2.重新启动

sudo apachectl -k restart

设置Apache容器默认目录

1.Apache配置文件所在目录
 
cd /etc/apache2/
 
2.修改Apache配置文件
 
sudo vim httpd.conf
 
3.查找 DocumentRoot 字符串。“/”为查找定位的意思

将上述目录改为自己想要的目录就可以,默认是/Library/WebServer/Documents,也可以不改

4.在<Directory下添加
Options Indexes 这样通过ip访问就可以浏览目录了
添加 
indexOptions NameWidth=128 显示的目录名就不是短名字了

然后配置定时运行程序

1.创建文件 ios.crash.launchd.plist 保存到 /Library/launchDaemons 目录下 ,StartCalendarInterval 它可以指定脚本在多少分钟、小时、天、星期几、月时间上执行

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>ios.crash.launchd.plist</string>
  <key>ProgramArguments</key>
  <array>
    <string>/Users/iOSCMB/Auto/AutoiOSCrash.sh</string>
  </array>
  <key>StartCalendarInterval</key>
  <dict>
  		<key>Minute</key>
        <integer>0</integer>
  		<key>Hour</key>
        <integer>1</integer>
  </dict>
  <key>StandardOutPath</key>
<string>/Library/WebServer/Documents/ioscrash/AutoiOSCrash.log</string>
<key>StandardErrorPath</key>
<string>/Library/WebServer/Documents/ioscrash/AutoiOSCrash.err</string>
</dict>
</plist>


更改文件拥有者和权限,不改的话,服务是跑不起来的

sudo chown root:wheel /Library/LaunchDaemons/ios.crash.launchd.plist
sudo chmod 644 /Library/LaunchDaemons/ios.crash.launchd.plist



2.创建AutoiOSCrash.sh文件,保存到/Users/iOSCMB/Auto目录下(目录随意,和ios.crash.launchd里的内容保持一致就行)

#!/bin/bash
/usr/bin/python /Library/WebServer/Documents/ioscrash/main.py

更改文件拥有者和权限

sudo chown root:wheel /Users/iOSCMB/Auto/AutoiOSCrash.sh
sudo chmod a+x /Users/iOSCMB/Auto/AutoiOSCrash.sh

main.py 就是符号化Crash的脚本
在脚本中需要注意几点

1.sys.path[0] 获取脚本文件所在目录
2.在终端输入命令 type 命令 ,可以知道命令工具的绝对路径 ,比如 输入type wget 输出 wget is /usr/local/bin/wget。
防止通过launchctl start 执行的python文件去执行shell脚本的时候提示 -bash: wget: command not found

launchctl load   ios.crash.launchd.plist
launchctl unload ios.crash.launchd.plist
launchctl start  ios.crash.launchd.plist
launchctl stop   ios.crash.launchd.plist
launchctl list

要加载做好的plist文件,就是用上面的第一个命令load,这个时候糸统就会在每天的1点0分执行脚本。如果想去掉定时任务就可以用unload命令。


如果一个任务今天的1点0分执行过了,然后你改了,com.jackin.launchctl.plist里面的时间,比如说改到12点24分执行,必须unload之后再重新load一下,不然当天不会再执行这个命令。


start可以测试任务,这个是立即执行,不管时间到了没有


stop可以停止任务


3.在系统偏好设置->节能器 里 选择 当显示器关闭时,防止电脑自动进入睡眠,去掉 勾选如果可能,使硬盘进入睡眠
在右下脚设置定时唤醒时间,以防止电脑睡眠后不能跑脚本的问题



猜你喜欢

转载自blog.csdn.net/langzxz/article/details/51519817