crontab定时任务打包备份文件并删除过期文件
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定时任务打包备份文件并删除过期文件的更多相关文章
- windows下自动删除过期文件的脚本
windows下自动删除过期文件的脚本 前言: 比如日志文件每天都产生,时间长了就会有很大的一堆垃圾.整理一下 定时删除文件的方法. 正文: Windows: 定时删除tomcat日志和缓存.可以保留 ...
- SqlServer数据库同时备份到两台服务器上(并自动删除过期文件)
数据库同时备份到两台服务器上(并自动删除过期文件) 举例 :(本地)服务器A: IP :192.168.1.1 (远程)服务器B: IP :192.168.1.2 数据库版本:SqlServer200 ...
- bat删除过期文件(FORFILES)
关键词:bat删除过期文件,bat,FORFILES 原文:https://blog.csdn.net/sandy9919/article/details/82932460 --最佳实践 :: IIS ...
- Linux shell crontab expdp 定时任务逻辑备份 定时删除旧文件
点击进入:Window bat expdp 定时任务逻辑备份 定时删除N天前的旧文件 创建sh脚本 [oracle@localhost ~]$ vi logicbackup.sh 添加脚本内容 #!/ ...
- linux 下使用crontab 定时打包日志并删除已被打包的日志
crontab是和用户相关的,每个用户有自己对应的crontab . cron是Linux下的定时执行工具,以下是重启/关闭等等的命令 #/sbin/service crond start //启动服 ...
- linux定时删除过期文件
需求说明 每日凌晨0点定时删除/temp目录下的所有一个月未被访问的文件. 脚本实现 linux 终端输入crontab -e,添加定时任务脚本命令 [root@localhost ~]# cront ...
- SQLServer自动备份和自动删除过期文件
以下为转载的文章: 点击下一步: 自定义名称和说明,点击更改: 点击确定,下一步 1.备份: 选择备份,下一步,再下一步,选择需要备份的数据库: 选择备份文件存放的路径: 点击下一步,选择系统产生的报 ...
- forfiles命令批处理删除过期文件
命令格式: forfiles.exe /p "D:\备份" /s /m *.zip /d -7 /c "cmd /c del @path" /p:指定目录 /s ...
- forfiles删除过期文件robocopy
forfiles /p "F:\SDSC16B" /s /m *.bak /d -20 /c "cmd /c del @FILE" /p:指定目录 /s:递归搜 ...
随机推荐
- 01-Flink运行架构
1.flink运行时的组件 Flink 运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作: 作业管理器(JobManager).资源管理器(ResourceManager). ...
- linux 查看系统资源使用信息的一些命令集合
linux上的进程查看及管理工具: pstree,ps,pidof,pgrep,top,htop,glances,pmap,vmstat,dstat,kill,pkill,job,bg,fg,nohu ...
- 【React Native】在网页中打开Android应用程序
React Native官方提供Linking库用于调起其他app或者本机应用.Linking的主要属性和方法有: 属性与方法 canOpenURL(url); 判断设备上是否有已经安装相应应用或可以 ...
- [SDOI] 仪仗队
SDOI仪仗队 序 迎面冷风袭来 我又该何去何从 哪里 是我的安居之处 正文 我们这个题有一个是很显然的想法,我们可以想到是跟 \(\gcd\) 有关,事实上没有任何分析的, ...
- 分布式服务追踪:Spring Cloud Sleuth
最近在学习Spring Cloud的知识,现将分布式服务追踪:Spring Cloud Sleuth 的相关知识笔记整理如下.[采用 oneNote格式排版]
- linux 磁盘管理2-硬盘分区
不重启添加硬盘. echo '- - -' > /sys/class/scsi_host/host2/scan #centos7有效 列出块设备 lsblk 显示块设备列表 ...
- set()和get()方法
在很多程序中,都喜欢定义一个privata变量,然后为这个私有变量加上get(),set()方法.那为什么不直接定义一个public变量呢?这样做到底有什么好处和意义呢?难道真的仅仅只是为了代码规范? ...
- NodeJS_0001:关于install的方式
最近在写Node程序的时候,突然对 npm install 的-save和-save-dev 这两个参数的使用比较混乱.其实博主在这之前对这两个参数的理解也是模糊的,各种查资料和实践后对它们之间的异同 ...
- SVN提交更新文件,抛出"svn: No such revision 27106"异常问题处理
SVN,不管是更新或者是提交原来存在的文件,都会抛出此异常"svn: No such revision 27106",注意,是原来存在的文件,要是新增的文件,不会出现此问题. 百度 ...
- python 字典 day6
字典 :键与值用:分开 项与项用,分开 特点:key-value结构‘ key为不可变数据类型,key必须唯一 可以任意存放多个value值 ,可以不唯一,可修改 无序 查询速度极快 且不受di ...