crontab定时任务打包备份文件并删除过期文件

原创 2017年06月30日 16:40:34

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执行一次






 





版权声明:本文为博主原创文章,未经博主允许不得转载。

linux下面自动打包备份并且删除5 天前的文件

项目要求     1.自动打包某一个文件目录,     2.自动将打包文件放置至一个指定目录     3.自动清除5天前的文件; 实现:  1.使用crontab 进行定时备份  ...
  • dazui
  • dazui
  • 2015年02月14日 16:15
  • 5496

Crontab中使用scp令命自动备份文件

为了在Linux下使用scp的时候不需要输入密码,采用ssh另一种用密钥对来验证的方式 。 一,两台机器一对一scp传文件 1、使用ssh-keygen 命令生成密钥。生成过程中,除了输入密码外,其...

Linux命令之文件同步、定时备份 -rsync,cron,crontab

一、rsync介绍(可忽略) Rsync(remote synchronize)是一个远程文件同步工具; Rsync使用“Rsync算法”来同步文件,该算法只传送两个文件的不同部分,因此速度相当快; ...

shell脚本定时任务--日志压缩(删除)

前面遇到一个问题,就是日志文件过大,占据了磁盘空间导致构建项目失败 于是就想写个定时任务删除日志或者压缩日志文件 在网上看了很久都没找到正确的脚本方式 于是就自己请教别人,写了一个,分享给找不到...

linux实现crontab定时任务计划并删除之前的文件备份

Mysql定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据。利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。 ...

crontab+rman 日期备份脚本

新接手了几个客户的数据库,数据库真是一团糟糕,什么分区,索引,表空间都十分的乱,最重要的是归档都没有开,竟然还是生产库,更别说什么备份脚本了,最近一直在做备份恢复的整理工作,该归档的停机归档,该建立脚...

利用 find 和 crontab 命令清理过期文件

crontab: 在时间的八音盒上翩翩起舞 crontab 命令是 Linux 中用来设定重复执行命令或脚本的工具。它能够在指定的时间段内,按照需求以某一时间间隔执行命令或脚本。 crontab ...

shell实例浅谈之十四利用crontab自动清除日志

一、问题       linux下运行程序有时会产生大量的记录日志,以便排除隐藏很深的问题,但时间一长就会占用很多的磁盘空间。每天手动清除也比较麻烦,因此一个定时脚本执行是很有必要的。 二、详解...

7个步骤让PC网站自动适配手机网页

传统的网站如何完成向移动设备的快速转型? 通过移动适配技术可以实现,切图网是国内首家基于web技术服务的公司,而移动适配主要通过底层的web技术开发手段来完成,下面切图网将从技术角度来告诉你通过7个步...

CentOS 7中 安装nginx服务器

简要地介绍一下,如何在CentOS 7中安装nginx服务器 方法/步骤 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:crontab定时任务打包备份文件并删除过期文件
举报原因:
原因补充:

(最多只允许输入30个字)