mac 定时任务清理内存RAM

定时任务CronTab

使用crontab设置定时任务

先创建清理内存的脚本: run.sh, 文件包含如下

#!/bin/bash

sudo /usr/sbin/purge

#文件路径,不需要日志可以吧日志注释掉

echo "clear ram success at :"+`date "+%Y/%m/%d %X"` >> /Users/mark/Documents/clear_ram/clear.log

crontab -e 或者sudo crontab -e。

#! /bin/sh 

00 16 * * * sh /Users/name/run.sh  # 注意run.sh路径是否对应

输入完成后,保存退出。系统自动建立新cron,提示如下:crontab: installing new crontab。设置非常简单。

如果你的脚本中执行了某些需要root权限的命令,会有一个cron权限问题, 解决如下图

whereis cron 查看cron所在位置

,

定时任务 launchctl(不建议使用, 因为需要取消sudo命令密码)

Mac上定时任务可以使用launchctl或者crontab,我个人选择了launchctl;使用launchctl只需要以下几步,我会直接贴代码并且带上简单描述:

一. 编写plist文件 com.clean.ram.plist (名字自己随意)文件 ,把这个文件丢到/Library/LaunchAgents下

 

   

    Label

    com.clean.ram

   

    Program

    /Users/GavinMBP/xxx/clear_ram/clear.sh

   

    StartInterval

    300

   

    StandardInPath

    /Users/GavinMBP/xxx/clear_ram/run-in.log

   

    StandardOutPath

    /Users/GavinMBP/xxx/clear_ram/run-out.log

   

    StandardErrorPath

    /Users/GavinMBP/xxx/clear_ram/run-err.log

 

ps:有几个其他参数我没用到,所以省略了,有需要的话,可以找一下下面参考的文章

二、编写bash代码 clear.sh:这个比较简单,我就是执行sudo purge,然后打印日志到某个文件

#!/bin/bash

sudo purge

#文件路径,不需要日志可以吧日志注释掉

echo "clear success at :"+`date "+%Y/%m/%d %X"` >> /Users/xxxx/xxx/clear.log

这里面有两个点需要注意:

1、sudo purge这个会让你输入管理员密码,所以你必须让这个指令不用输入密码;所以,请自行完成google/百度 :mac sudo 命令 不需要密码

2、必须让clear.sh是可执行的,给足够的权限 chmod 777 clear.sh

三、把第一步创建的plist文件丢到/Library/LaunchAgents下,根据自己的需要,执行以下命令,一般是1,5就OK了,1执行,5查看有木有,satrt可以看到效果

launchctl load  /Library/LaunchAgents/com.clean.ram.plist #加载plist文件

launchctl unload /Library/LaunchAgents/com.clean.ram.plist #卸载

launchctl start  /Library/LaunchAgents/com.clean.ram.plist #立即运行,先load,在执行start

launchctl stop  /Library/LaunchAgents/com.clean.ram.plist #立即停止

launchctl list | grep com.clean.ram #查看列表

ps:每次修改了.plish文件,记得要重新load,不然不生效!

你可能感兴趣的:(mac 定时任务清理内存RAM)