linux下利用shell脚本实现添加crontab任务
2024-10-11 19:49:28
本来直接用crontab -e 就可以打开vim,输入要执行的任务保存退出就可以添加任务直接启动运行了。但是今天组长说能不能写个shell不用打开vi就能添加到crontab的。
最先想到的是怎么在shell脚本里面如何使用vi的命令,网上找了好多,要么格式太乱,要么没明白意思直接告诉vi的使用方法,所以只好舍弃了。
下面说我的方法吧
test.sh :里面写的是要执行的具体任务。
call.sh是交个人直接双击就能实现添加crontab任务的:内容如下:
#!/bin/sh
echo "*/5 * * * * /home/../test.sh" >> /var/spool/cron/username
就这么两行的内容
一般执行crontab -e命令都是直接往/var/spool/cron下创建一个文件,这个文件的名称就是你的当前用户名,内容就是你添加的任务具体内容。
但是call.sh执行的时候需要root权限。
实际配置:
定期删除log日志文件
echo "start deploy crotab for logs delete"
if [ ! -e /var/spool/cron/ ];then
mkdir -p /var/spool/cron/
fi
if [ `grep -v '^\s*#' /var/spool/cron/root |grep -c '/data/socket'` -eq 0 ];then
echo "30 0 * * * /bin/find /data/socket -name *.log -mtime +60 -type f |xargs rm -rf {};" >> /var/spool/cron/root
fi
最新文章
- Vagrant基础简要记录
- POJ 3463 有向图求次短路的长度及其方法数
- Ubuntu 查询 so 归属的 package
- c# HttpClient禁止缓存
- 让 Web 站点崩溃最常见的七大原因
- Xcode的command+shift+o是一个不错的工具
- hive函数 -- split 字符串分割函数
- 10个Web设计的SEO规则
- 【Effective Java】4、覆盖equals时请遵守通用约定
- LINQ——语言级集成查询入门指南(1)
- cdoj 1252 24点游戏 dfs
- 解决nginx 504 Gateway Time-out的一些方法
- JAVA-2-DATA
- Ubuntu安装搜狗拼音
- 修改本地配置远程连接oracle数据库
- vue组件的生命周期
- spring boot 1.4 整合 mybatis druid
- .NET Core开发日志——WCF Client
- Java正则表达式的总结
- SEO优化上首页之搜索引擎排名规则