Oracleは、定期的なバックアップにバッチファイルexpdpを使用します

バットファイル:

@echo off 
echo ================================================ 
echo  Windows环境下Oracle数据库的自动备份脚本
echo  1. 使用当前日期命名备份文件。
echo ================================================
::对应用户名
set USER=QXXXXX
::对应用户的密码
set PASSWORD=QXXXXX
::导出数据(根据日期加时分秒来命名备份文件)
expdp %USER%/%PASSWORD% directory=qmysptbackup dumpfile=yxhl_%date:~0,4%%date:~5,2%%date:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.dmp logfile=yxhl_%date:~0,4%%date:~5,2%%date:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.log schemas=%USER%

::如果报错LRM-00112: 参数'logfile'不允许有多个值。 则是上面时间格式输出有问题,有空格,输出了两个值,加上下划线_ 即可 (在date和time之间加下划线 )
::yxhl_%date:~0,4%%date:~5,2%%date:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.log

それをbat形式に変更し、タスクプラン、スクリプトの前提条件設定に追加し
ます。論理ディレクトリを作成します。

SQL> create directory data_dir as '/home/oracle/dmp/user';

Directory created.

システム管理者を使用して、指定したユーザーにディレクトリを操作する権限を付与します。/ directory empower

SQL> grant read,write on directory data_dir to user;

Grant succeeded.

実行後の結果:
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

このディレクトリの値はOracleで変更する必要があることにも注意してください。

create or replace directory dumpdir as '/home/dumpfiles';

外のバットで直接変更するのは正しくありません、、、
ここに画像の説明を挿入

参照:
https //www.cnblogs.com/promise-x/p/7477360.html
https://mhl.xyz/Oracle/directory.htmlhttps://www.cnblogs.com/luck666/p/10253686
。 html

分割線===
削除について:
シェル:

find /data01/backup/ -mtime +15 -name "user*.dump" -exec rm -rf {
    
    } \;  #删除前15天的数据
#find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \

パワーシェル:

set DATADIR=F:\app\Administrator\admin\orcl\dpdump\
::删除7天前的备份。  
forfiles /p %DATADIR% /s /m HBGYDX*.DUMP /d -7 /c "cmd /c del @path"

今日、私はdocker環境で純粋なdockerfileに出くわしました。検索命令はありません。30日以上経過したファイルdelFile.shを削除するには

#!/bin/bash

#创建文本
for i in `seq 1 40`
do
        touch `date -d "-$i day" +%Y%m%d`.txt
done

#删除过去30天的文件   20201010  今天20201109
before30Day=$(date -d "-30 day" +%Y%m%d)

for i in `ls *.txt`
do
	# ${i:0:8}截取前8位 , if里面双方变量要加双引号,否则报错
        if [ "${i:0:8}" -le "$before30Day" ];then
                echo "该文件是30天之前的: $i"
                #rm -f $i
        fi
done

ここに画像の説明を挿入

別の人の文章:
ここに画像の説明を挿入

2021年2月19日の11:50:10に、
別の形式について話しましょうひょうたんに合わせてスクープを描く

xx-logstssh-2021.01.29.log
xx-logstssh-2021.02.09.log
#!/bin/bash
before7Day=$(date -d "-7 day" +%Y%m%d)

for i in `ls *.log`
do
		#sed不支持pcre表达,比如 \d
        compareDate=`echo $i | sed -r 's#.*([0-9]{4})\.([0-9]{2})\.([0-9]{2}).*#\1\2\3#'`
        if [ "$compareDate" -lt "$before7Day" ];then
                echo "该文件是7天之前的: $i"
                #rm -f $i
        fi
done

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/Nightwish5/article/details/109303422