1. 准备安装最近购买了m1 pro的中配版mac 前期听说ssd读取有问题 于是在知乎逛一圈 发现有大佬写好的pyplot 于是借用写了一个mac定时任务 来监控自己电脑的ssd情况 大佬点击
brew install smartctl
注意:homebrew是需要提前安装的不知道如何安装的可以看我的另一文章 也是看了无数大佬总结的 点击
2. 创建目录编写XXX.sh#! /bin/zsh /opt/homebrew/bin/smartctl -a /dev/disk0 >> ~/data/m1ssd/disk.txt /opt/homebrew/bin/python3 ~/data/m1ssd/ssd.py
注意⚠️:路径大家改自己的 自己的在哪里就改那
创建完成后进行下面的 *** 作
Chomd +x xxx.sh or chomd 777 xxx.sh
3. 编写需要编写的pyfrom matplotlib import pyplot as plt import matplotlib.ticker as mticker from dateutil import parser import re import datetime with open("/Users/coolcorgy/data/m1ssd/disk.txt", "r") as f: data = f.read() units = {"B": 1, "KB": 10**3, "MB": 10**6, "GB": 10**9, "TB": 10**12} def parse_size(size): number, unit = [string.strip() for string in size.split()] return int(float(number)*units[unit]) time_str = re.findall("Local Time.*", data) tb_str = re.findall("Data Units Written.*",data) time = [] tb = [] for i in time_str: time.append(parser.parse(i[36:])) tb = [re.search("[.*]",i).group()[1:-1] for i in tb_str] tb = [parse_size(i)/1e12 for i in tb] plt.plot(time,tb) plt.gcf().autofmt_xdate() plt.xlabel("date") plt.ylabel("wirtten") plt.gca().yaxis.set_major_formatter(mticker.FormatStrFormatter('%.2f TB')) plt.savefig(f'/Users/coolcorgy/data/m1ssd/{datetime.datetime.now().strftime("%Y-%m-%d %H:%M")}.jpg')
注意⚠️:
- 目录写你的 上面的代码需要更改你的路经
- 上面的包需要你提前pip install 具体百度
用访达或者命令找到 如下图片的两个文件夹 LaunchAgemts or LaunchDaemons
两个文件的区别是前者需要登陆才能启动定时命令 后者只要开机不登陆也会执行 我用后面的那个报错 于是我就用了前面的
编写cn.corgy.ssd.plist (这是我的大家也可以写自己的名字.plist)
Label com.corgy.ssd.plist ProgramArguments /Users/coolcorgy/data/m1ssd/ssd.sh StartInterval 43200 StandardOutPath /Users/coolcorgy/data/m1ssd/log/run.log StandardErrorPath /Users/coolcorgy/data/m1ssd/log/run.err
具体文件的含义大家可以自己去学一下
注意⚠️:
- 目录需要大家改自己的
- 大家也可以通过定义每天固定的时间来执行
# 加载任务, -w选项会将plist文件中无效的key覆盖掉,建议加上 $ launchctl load -w cn.corgy.ssd.plist # 删除任务 $ launchctl unload -w cn.corgy.ssd.plist # 查看任务列表, 使用 grep '任务部分名字' 过滤 $ launchctl list | grep 'cn.corgy' # 开始任务 $ launchctl start cn.corgy.ssd.plist # 结束任务 $ launchctl stop cn.corgy.ssd.plist6. 结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)