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:递归搜 ...
随机推荐
- Hadoop之HDFS扩容方法
HDFS就是用来存取数据的,那么当数据太多的时候存不下,我们必需扩充硬盘容量,或者换个更大的硬盘. 由于它是分布式文件系统,有两种扩充HDFS集群容量的方法:横向扩容和纵向扩容 横向扩容 横向扩容就是 ...
- Linux服务器配置GPU版本的pytorch Torchvision TensorFlow
最近在Linux服务器上配置项目,项目需要使用GPU版本的pytorch和TensorFlow,而且该项目内会同时使用TensorFlow的GPU和CPU. 在服务器上装环境,如果重新开始,就需要下载 ...
- Appium超详细环境搭建for Mac
兜兜转转试用了一圈自动化框架后,回归到appium,与一年之前相比,appium有了很大的改变:1.iOS 9 之前一直以 instruments 下的 UIAutomation为驱动底层技术(弊 ...
- 思科路由器、交换机配置Console 线线序 (亲测可以)
网上有许多标准console线配置线序,在配置思科网络设备时都是不能用的,因为思科的console线序是专用的, 如下 水晶头侧 线序 B 白橙,橙,白绿,蓝 ,白蓝,绿,白粽,棕 对应串口侧线序 1 ...
- git 流程
1.git clone 拉取代码2.git checkout -b '分支名称' 命令意思: 创建并切换到当前新建的本地分支. 查看并创建分支,先远端,后本地.3.将本地分支和远端分之关联 git b ...
- ADO.NET事务封装
在数据库工具类编写的过程中,对事务的处理操作想避免各个原子操作的事务对象赋值重复操作,想对外暴露的方法为如下形式 public bool ExecuteTransition(Action Transi ...
- 浏览器对象模型“BOM”,对浏览器窗口进行访问和操作
location对象 location.href url地址 location.hash 锚点 location.hostname 主机名(需要放到服务器上) location.ho ...
- css基础-css选择器和css文本样式相关
css基础-css选择器和css文本样式相关: 使用link链入外部样式,页面加载时会同时加载样式 @import url(“*.css”);使用导入式,页面加载完后,才会加载样式 链接伪类的顺序 : ...
- TotalUninstall6破解步骤卸载软件更彻底更专业
软件包分享,这里使用的是6.24版本 链接:https://pan.baidu.com/s/1aVd6bclk5A6puyWBfAOA2A提取码:mhl9 接下来开始安装 安装步骤: 点击安装.基本上 ...
- opencv —— createTrackbar、getTrackbarPos 滑动条的创建和使用
创建滑动条:createTrackbar 函数 createTrackbar 函数用于创建一个可以调整数值的滑动条,并将滑动条附加在指定的窗口上. int createTrackbar(const s ...