linux7 shell 定时任务 测试

linux7 shell 定时任务脚本对文件进行压缩保存和删除前几天的压缩包

  • 主体思路分为两个部分
    • 创建一个shell文件
    • 定时执行

主体思路分为两个部分

第一,创建一个文件,就是sell文件
第二,定时执行

创建一个shell文件

vim demo.sh←这个文件放在什么位置都行,只要不碍事就行,只是为了测试
然后文件内部的头部要写上
#!/bin/bash 这是固定格式为何这样固定可以查百度
下面就是要执行的内容,如果不是很明白可以直接把的echo “helol”给粘贴进去保存退出。
然后执行文件./demo.sh
具体的事这样的

#!/bin/bash
timel=$(date "+%Y-%m-%d-%H-%M-%S")
tar -zcPf /home/demo/${timel}doudou.tar.gz /home/test
find /home/demo/ -mmin +60 -name *doudou.tar -exec rm -r {} \;

解释:

  1. $(date “+%Y-%m-%d-%H-%M-%S”) ,获取年月日,格式可以更改;
  2. tar -zcPf /home/demo/${timel}doudou.tar.gz /home/test ,压缩文件,里面有一个P的意思是使用全路径进行压缩,如果不使用会报tar: Removing leading `/’ from member names
  3. find /home/demo/ -mmin +60 -name *doudou.tar -exec rm -r {} ; ,网上找的意思是:/home/demo/文件夹下,-mmin +60=》60分钟前,*doudou.tar =》以doudou.tar结尾的文件,-exec=>固定语句,rm -r=》删除,{} \固定语句,如果想改成1天前可以用mtime;

定时执行

用crontab -参数
参  数:
-e  编辑该用户的计时器设置。
-l  列出该用户的计时器设置。
-r  删除该用户的计时器设置。
-u<用户名称>  指定要设定计时器的用户名称。

基本格式 :

#!/bin/bash
* * * * *  这里是要执行的命令或文件 

*分别代表的事 分时日月周

如果不执行可以手动的执行*后面的命令或文件
注意:
crontab是需要启动的
linux7 启动命令:systemctl start crond.service

你可能感兴趣的:(php,linux)