如下:
脚本部分,这个脚本用crontab定时每月10运行一次。
mkdir -p /tmp/xxxcd dest-dir
find -type f -mtime +10 |xargs -i -t mv -f "{}" /tmp/xxx >/dev/null 2>&1
cd /tmp
tar -zcv -f xxxtargz /tmp/xxx
首先确定几个问题:
2、备份完数据后,主目录下的文件删不删,不删的话相当于每天备份全量,删除的话每天备份增量
3、备份规则是当天备份前一天的还是当天备份当天的,如果实时有数据,建议备份前一天,如果固定时间有数据,那么备份当天的即可。
#!/bin/bash
sdir=
ddir=
logfile=/backup-$(date -d "yesterday" +%Y-%m-%d)log
tar -zcvf $ddir/mybackup-$(date -d "yesterday" +%Y-%m-%d) $sdir/ --remove-files &> $logfile
脚本如上,对应三个问题的解释
1、sdir指定要备份的目录,ddir指定备份文件存放的目录
2、脚本中归档压缩命令那一行--remove-files是压缩后删除源文件的意思,对应删除主目录下的文件,如果不需要删除,去掉这个参数就行了
3、最后在需要执行的用户下执行crontab -e(里面的编辑方式和vim一样)
0 0 /bin/sh /#这里是脚本所在的目录/#脚本名称
:wq保存退出,执行crontab -l能看到这个任务即可,时间的话按自己的需要根据实际情况定义,这里定义每天的0点执行。
在dbaccess前加上绝对路径
或者在shell脚本里面在执行dbaccess命令前,先改变工作路径到相应位置。
------------------
需要在脚本里增加环境变量设置
set CLIENT_LOCALE=EN_USCP1252
set DB_LOCALE=EN_US8859-1
set SERVER_LOCALE=EN_USCP1252
set DBLANG=EN_USCP1252
以上就是关于shell 备份删除指定文件全部的内容,包括:shell 备份删除指定文件、Shell程序实现每天将主目录下的所有目录和文件归档 并压缩为文件mybackup.tar.gz然后让脚本开机自动运行、我写了一个shell备份表,手动可以执行,但是在crontab里无法执行,报:dbaccess not fount错误。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)