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. sql数据库语言练习,增删改查

    数据库创建 DROP DATABASE IF EXISTS `sql_invoicing`; CREATE DATABASE `sql_invoicing`; USE `sql_invoicing`; ...

  2. window 下如何恢复被删除的mysql root账户及密码(mysql 8.0.17)

    不久前自学完完sql,下了mysql8.0.17,安装配置好后探索着,想着用root账户登上去能不能删除root账户呢,然后就想给自己一巴掌,,, 如何快速恢复root: 1.关闭mysql服务:wi ...

  3. 「Flink」使用Java lambda表达式实现Flink WordCount

    本篇我们将使用Java语言来实现Flink的单词统计. 代码开发 环境准备 导入Flink 1.9 pom依赖 <dependencies> <dependency> < ...

  4. Linux上安装软件

    Linux发行版的两大系列 debian:代表的比如Ubuntu,软件包管理工具apt.apt-get.dpkg,软件包名.deb redhat:代表的比如CentOS(所以在VMware上安装Cen ...

  5. JN_0019:CMD命令窗口常用操作

    1,回到根目录下 cd\ 2,

  6. python基礎學習第一天

     python歷史 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python 由 Guido van Rossum 于 1989 年底在荷兰国家数学和计算机科学研究所设计出来 ...

  7. AGC011-C Squared Graph

    题意 给定一个\(n\)个点\(m\)条边的图,构建一个\(n^2\)个点的图,新图的每个点都可以看成一个二元组,新图上的点\((a,b)和(a′,b′)\)之间有边,当且仅当原图中\((a,a′), ...

  8. .NET知识梳理——6.lambda

    1. lambda 1.1        匿名方法lambda表达式 Lambda表达式 Lambda是一个匿名方法,实例化委托的一个参数,编译的时候会产生一个密封类,同时增加一个方法. Lambda ...

  9. python数据类型(第二弹)

    针对上一篇博文提出的若干种python数据类型,笔者将在本文和后续几篇博文中详细介绍. 本文着重介绍python数据类型中的整数型.浮点型.复数型.布尔型以及空值. 对于整数型.浮点型和复数型数据,它 ...

  10. 【Spring】事务(transactional) - REQUIRES_NEW在JdbcTemplate、Mybatis中的不同表现

    环境 数据库: oracle 11g JAR: org.springframework:spring-jdbc:4.3.8.RELEASE org.mybatis:mybatis:3.4.2 概念 R ...