find . -name $LSNRNAME.log.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].gz -mtime +$CLEAN_DAYS -exec rm {} ; 2>/dev/null
TODAY=`date +%Y%m%d`
CUT_FILE=${LOG_FILE}.${TODAY}
find ./ -mtime +20 -name ‘’*.tar.gz‘’ -exec rm -rf {} rm -rf {} ;
含义:删除改文件夹下超过20天的文件(天数可以根据条件来决定。)
https://www.xslds.com/post/15.html
例子2:
每周星期天早上五点执行
0 5 * * sun root command
* 23 * * 1-6 root ls
每周的周一到周六二十三点以root执行ls命令
mkdir /usr/local/zabbix/orabbix/zabconfbak
cd /backup/script/
mkdir bakzab
cd /backup/script/bakzab
vi bakzab.sh
##the purpos is backup file
PATH=/usr/local/bin:/usr/bin:$PATH:.
export $PATH
back_dir=/usr/local/zabbix/orabbix/zabconfbak
TODAY=`date +%Y%m%d`
cd /usr/local/zabbix/orabbix/conf
cp query.props /usr/local/zabbix/orabbix/zabconfbak/query_${TODAY}.props
#cp query_dg.props /usr/local/zabbix/orabbix/zabconfbak/query_dg_`date -d "today" +"%Y%m%d_%H%M%S"`.props
cp query_dg.props /usr/local/zabbix/orabbix/zabconfbak/query_dg_${TODAY}.props
##clean 200day old file
cd $back_dir
find $back_dir -mtime +200 -name "query_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].props" -exec rm {} ;
find $back_dir -mtime +200 -name "query_dg_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].props" -exec rm {} ;
##end
crontab -e
###backup orabbix config to /usr/local/zabbix/orabbix/zabconfbak
40 17 * * 1 sh /backup/script/bakzab/bakzab.sh > /tmp/bakzab.log
sample 2:
cd /backup
cd script
cd /backup/script
vi bak.sh
##the purpos is backup file
PATH=/usr/local/bin:/usr/bin:$PATH:.
export $PATH
back_dir=/usr/local/zabbix/orabbix/zabconfbak
TODAY=`date +%Y%m%d`
##for oracle crontab
scp /crbank/scripts/v1/passwd/passwd.sh cradmin@yum-server:/dbsoft/bak/oracle
scp /crbank/scripts/v1/tablespace/tablespace.sh cradmin@yum-server:/dbsoft/bak/oracle
scp /crbank/scripts/v1/shell/del_arc.sh cradmin@yum-server:/dbsoft/bak/oracle
scp /crbank/scripts/v1/tablespace/tablespace_est.sh cradmin@yum-server:/dbsoft/bak/oracle
scp /crbank/scripts/v1/perl/my_to_oracle/* cradmin@yum-server:/dbsoft/bak/oracle/my_to_oracle
scp /crbank/scripts/tools/dg_checking/* cradmin@yum-server:/dbsoft/bak/oracle/dg_checking
scp /crbank/scripts/tools/db_parameter_checking/script/* cradmin@yum-server:/dbsoft/bak/oracle/db_parameter_checking
##for root crontab
scp /backup/python/mysql_table.sh cradmin@yum-server:/dbsoft/bak/cradmin
scp /backup/python/oracle_topsql.sh cradmin@yum-server:/dbsoft/bak/cradmin
###backup shell to 56.18.99.206 /dbsoft/bak
40 17 * * 1 sh /backup/script/bak.sh > /tmp/bak.log
mkdir /dbsoft/bak/oracle/db_parameter_checking
mkdir /dbsoft/bak/oracle/dg_checking
linux 自动定时备份文件夹及备份脚本实例
李梅 5年前 (2015-11-02) 分类:Linux 阅读(18834) 评论(0)
为了防止数据意外丢失,特别是不可避免的灾难,让让linux系统定时备份文件目录是个不错的方案,本文我们来谈谈阿里云linux服务器定时备份的步骤。
服务器:阿里云
需求:对www目录,每天凌晨1点执行备份,以当天日期命名文件夹
在 alidata 文件夹里建立 wwwbak 目录 和 bakwww.sh 文件,操作如下:
新建 wwwbak 文件夹,执行如下命令:
# mkdir wwwbak
# chmod -R 777 wwwbak
再新建 bakwww.sh 的文件,执行如下命令
# vi bakwww.sh
文件内容如下:
cp -af /alidata/www/ /alidata/wwwbak/$(date -d "today" +"%Y%m%d_%H%M%S")/
此行含义: 将 /alidata/www/ 复制到 /alidata/wwwbak/ 目录下, 并以当前日期命名文件夹的名称
按Esc 输入 :wq 保存
让 bakwww.sh 有执行的权限,执行如下命令:
# chmod -R 777 bakwww.sh
--------------------------------------------
切换到 etc 目录,执行如下命令:
# vi crontab
在最后一行输入:
0 1 * * * root /alidata/bakwww.sh
此行含义: 每天凌晨1点执行 bakwww.sh 文件
最后重启crontab服务
# service crond restart
到这里就结束了.
以上要注意的是: bakwww.sh 文件一定要有执行的权限!
LINUX 自动备份脚本文件
首先我在/root/backup 目录下建立一个文件夹,
#mkdir /root/backup/mysqlbackup
以后在每天五点钟,就会有一个文件保存在这里.
接着新建文件
#vim /root/mysqlautobak
输入:
filename=` date +%Y%m%d `
mysqldump --all-databases -uroot -p(mysql密码)> /root/backup/mysqlbackup/mysql$file.sql
保存退出!
让它可以执行
#chomd +X /root/mysqlautobak
接着开始完crontab了
#vi /etc/crontab
添加一行
01 5 * * * root /root/mysqlautobak
保存退出.
重新启动你的crond服务进程
# /etc/rc.d/init.d/crond restart