您的位置:首页 > 移动开发 > IOS开发

iMac定时跑符号化iOSCrash脚本

2016-05-27 21:45 441 查看
首先启动 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.在系统偏好设置->节能器 里 选择 当显示器关闭时,防止电脑自动进入睡眠,去掉 勾选如果可能,使硬盘进入睡眠

在右下脚设置定时唤醒时间,以防止电脑睡眠后不能跑脚本的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS Crash