Crontab 示例,最后这里要写成shell脚本定时运行

30 17 * * * cp -rf /usr/local/tomcat9-jforum/tomcat/logs/catalina.out  /usr/local/tomcat9-jforum/logs

Crontab归结为以下几点特性:
1.     Crontab约束
2.      Crontab命令
3.      Crontab文件语法
4.      Crontab示例
5.      Crontab环境设置
6.     邮件
7.     日志文件
8.     其它
1.     Crontab约束
当用户名记录在文件/usr/lib/cron/cron.allow时,该用户的crontab有效。当/usr/lib/cron/cron.allow文件不存在时,用户名没被记录在/usr/lib/cron/cron.deny文件中,该用户的crontab也有效。当只存在/usr/lib/cron/cron.deny且为空时,所有的用户都可使用crontab。
当前两个文件都不存在时,只有root用户可以使用crontab。Deny或allow记录以每行一个用户名的形式记录信息
2.     Crontab 命令
export EDITOR=vi ;为crontab文件指定一个编辑器。 
crontab -e  编辑该用户的crontab,当指定crontab 不存在时新建。  
crontab -l  列出该用户的crontab。  
crontab -r  删除该用户的crontab。  
crontab -u<用户名称>  指定要设定crontab的用户名称。
crontab –v 显示上一次编辑的时间(只在某些操作系统上可用)
3.      Crontab 文件
Crontab语法一个crontab文件用五个段来定义:天,日期和时间,和一个要定期执行的命令代码。
*    *  *  *   *  command to be executed
-    -   -   -    -
|    |    |    |    |
|    |    |    |    +----- day of week (0 - 6) (Sunday=0)
|    |    |    +------- month (1 - 12)
|    |    +--------- day of month (1 - 31)
|    +----------- hour (0 - 23)
+------------- min (0 - 59)
 
所有的值都必须在相应的范围之内,否则视为无效。在填值区域内可以是*也可以是以”,”分隔的一组值。值可以是一个数据也可以是用连接符连起来的两个数(表示范围)。注:日期的格式可以是星期,也可以是一个月中的天。假如两个都有值,则在这两个时间都会执行。
4. Crontab 实例

下面是crontab文件中的一行,意思是在每天下午6:30中删除临时文件(临时文件存放在/home/someuser/tmp)。30    18    *    *    *        rm /home/someuser/tmp/*

shell示例:

vi test.sh

#!/bin/sh 
#对变量赋值: 
a="hello world" 
# 现在打印变量a的内容: 
echo "A is:" 
echo $a

  在您的编辑器中输入以上内容,然后将其保存为一个文件test.sh。之后执行chmod +x test.sh   执行权限
  使其可执行,最后输入./test.sh执行该脚本。 
   这个脚本将会输出: 
A is: 
 hello world

所需语句测试

#!/bin/sh

FILENAME=`date +%Y%m%d`     ----------`' 靠,这是esc下面那个键,搞了半天才发现

tar -zcvf /backup/$FILENAME  /home/user  将home/user打包到/backup/$FILENAM   `date +%Y%m%d` 为日期
 
 
 tar -zcvf /usr/local/tomcat9-jforum/tomcat/webapps/jforum/images/avatar    打包
 
 30 17 * * * cp -rf /usr/local/tomcat9-jforum/tomcat/logs/catalina.out  /usr/local/tomcat9-jforum/logs/catalina.out   测试复制
 
 
 rm -f /usr/local/tomcat9-jforum/backup/`date +%y%m%d`_avatar.tar.gz  测试删除
 
 rm -f /home/svnbak/`date -d '-5 days' +%Y%m%d`.tar.gz  测试删除过期文件

论坛用户文件备份.sh

#/bin/sh 
#filebak 
#file executable: chmod 755 filebak 
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 
export PATH 
bakdir="/home/bbs/backup" 
filename1="`date +%Y%m%d`_avatar.tar.gz" 
filename2="`date +%Y%m%d`_postimages.tar.gz" 
filename3="`date +%Y%m%d`_upload.tar.gz" 
filename4="`date +%Y%m%d`_jforumLuceneIndex.tar.gz" 
if [ ! -x "$bakdir" ];then 
mkdir $bakdir 
fi 
cd $bakdir 
tar cvfz $filename1 /home/bbs/tomcat-bbs/webapps/jforum/images/avatar          打包
tar cvfz $filename2 /home/bbs/tomcat-bbs/webapps/jforum/images/postimages
tar cvfz $filename3 /home/bbs/tomcat-bbs/webapps/jforum/upload
tar cvfz $filename4 /home/bbs/tomcat-bbs/webapps/jforum/WEB-INF/jforumLuceneIndex
rm -f $bakdir/`date -d '-30 days' +%Y%m%d`_avatar.tar.gz               删除过期
rm -f $bakdir/`date -d '-30 days' +%Y%m%d`_postimages.tar.gz
rm -f $bakdir/`date -d '-30 days' +%Y%m%d`_upload.tar.gz
rm -f $bakdir/`date -d '-30 days' +%Y%m%d`_jforumLuceneIndex.tar.gz

添加定时任务
crontab -e
crontab -l 查看

25 14 * * * /home/bbs/bbsfilebackup
 
 :wq

此为每天下午两点25执行一次

转载自:http://blog.csdn.net/ws379374000/article/details/74009009

crontab定时任务打包备份文件并删除过期文件的更多相关文章

  1. windows下自动删除过期文件的脚本

    windows下自动删除过期文件的脚本 前言: 比如日志文件每天都产生,时间长了就会有很大的一堆垃圾.整理一下 定时删除文件的方法. 正文: Windows: 定时删除tomcat日志和缓存.可以保留 ...

  2. SqlServer数据库同时备份到两台服务器上(并自动删除过期文件)

    数据库同时备份到两台服务器上(并自动删除过期文件) 举例 :(本地)服务器A: IP :192.168.1.1 (远程)服务器B: IP :192.168.1.2 数据库版本:SqlServer200 ...

  3. bat删除过期文件(FORFILES)

    关键词:bat删除过期文件,bat,FORFILES 原文:https://blog.csdn.net/sandy9919/article/details/82932460 --最佳实践 :: IIS ...

  4. Linux shell crontab expdp 定时任务逻辑备份 定时删除旧文件

    点击进入:Window bat expdp 定时任务逻辑备份 定时删除N天前的旧文件 创建sh脚本 [oracle@localhost ~]$ vi logicbackup.sh 添加脚本内容 #!/ ...

  5. linux 下使用crontab 定时打包日志并删除已被打包的日志

    crontab是和用户相关的,每个用户有自己对应的crontab . cron是Linux下的定时执行工具,以下是重启/关闭等等的命令 #/sbin/service crond start //启动服 ...

  6. linux定时删除过期文件

    需求说明 每日凌晨0点定时删除/temp目录下的所有一个月未被访问的文件. 脚本实现 linux 终端输入crontab -e,添加定时任务脚本命令 [root@localhost ~]# cront ...

  7. SQLServer自动备份和自动删除过期文件

    以下为转载的文章: 点击下一步: 自定义名称和说明,点击更改: 点击确定,下一步 1.备份: 选择备份,下一步,再下一步,选择需要备份的数据库: 选择备份文件存放的路径: 点击下一步,选择系统产生的报 ...

  8. forfiles命令批处理删除过期文件

    命令格式: forfiles.exe /p "D:\备份" /s /m *.zip /d -7 /c "cmd /c del @path" /p:指定目录 /s ...

  9. forfiles删除过期文件robocopy

    forfiles /p "F:\SDSC16B" /s /m *.bak /d -20 /c "cmd /c del @FILE" /p:指定目录 /s:递归搜 ...

随机推荐

  1. Html介绍,认识head标签

    <head></head>标签位于html文档的头部,主要是用来描述文档的各种属性和信息,包括文档的标题等,当然文档头部包含的数据都不会真正作为内容展示给访客的. 如下的一些标 ...

  2. centos的安装与配置,Linux下基本命令、权限控制,解压缩文件以及软件的安装与卸载

    centos安装与网络配置 关机:shutdown -h now 重启:shutdown -r now 或 reboot linux目录结构与操作命令 使用ls命令查看目录结构 目录查看: ls [- ...

  3. ACM模板_axiomofchoice

    目录 语法 c++ java 动态规划 多重背包 最长不下降子序列 计算几何 向量(结构体) 平面集合基本操作 二维凸包 旋转卡壳 最大空矩形 | 扫描法 平面最近点对 | 分治 最小圆覆盖 | 随机 ...

  4. 如何将BroadcastReceiver中的信息传到Activity中

    方法:在BroadcastReceiver中定义一个接口,在Activity中定义一个BroadcastReceiver的对象,采用动态注册,在Activity中定义接口中的方法并通过Broadcas ...

  5. too many open files异常及解决办法

    1.问题描述: 最近项目中由于大批量的操作文件,项目部署在Linux服务器上,突然发现出现了 too many open files异常. 经过一番查阅,(直译过来就是文件打开数过多)但是查阅了相关的 ...

  6. 剑指offer-面试题42-连续子数组的最大和-动态规划

    /*题目; 输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和. 要求时间复杂度为O(n). 先输入数组的格式,再依次输入数组的值.*//*思路: f(i) = pDa ...

  7. Windows配置JDK环境

    在系统变量里新建JAVA_HOME变量,变量值为:D:\Program Files\Java\jdk1.8.0_161(根据自己的安装路径填写) 在系统变量里新建classpath变量,变量值为:;% ...

  8. dubbox的小案例

    什么是Dubbox: Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架.作为一个重要的技术研究课题,在当当网根据自身的需求,为D ...

  9. 使用Scanner类

    import java.util.Scanner;   public class HelloWorld {     public static void main(String[] args) {   ...

  10. C# 中indexOf、lastIndexOf、subString方法的理解

    一.indexOf() indexOf("\\"):返回"\\"字符在此实例中第一个出现的索引位置,实例的下标是从0开始,如果未找到则返回-1. indexOf ...