Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
king1688888888
V2EX  ›  Linux

请教大佬们一个 shell 脚本

  •  
  •   king1688888888 · Sep 10, 2021 · 2922 views
    This topic created in 1706 days ago, the information mentioned may be changed or developed.
    应付安全检查,需要创建半年以上的 oracle 审计日志。

    oracle11g 审计日志文件:orcl_ora_2417_20210910173104240941143795.aud
    日志格式是:orcl_ora_四位随机数字_年月日时分秒+十四位随机数字.aud

    想每天生成 10 个审计日志文件,生成半年的日志量,文件创建时间随意。文件名包含了日期,难倒我了,求大佬分享一下 shell 关键代码实现快速生成。
    13 replies    2021-09-10 18:37:37 +08:00
    defunct9
        1
    defunct9  
       Sep 10, 2021
    ???!!!
    nbweb
        2
    nbweb  
       Sep 10, 2021
    shell 里面的日期和时间,可以用现在的时间减去一个数,这也是个思路,其它的就是随机生成了。
    0ZXYDDu796nVCFxq
        3
    0ZXYDDu796nVCFxq  
       Sep 10, 2021
    date -d '-1 day' '+%Y%d%m'
    defunct9
        4
    defunct9  
       Sep 10, 2021
    明显是德勤审计
    holinhot
        5
    holinhot  
       Sep 10, 2021
    python 更简单吧
    JDog
        6
    JDog  
       Sep 10, 2021
    来,开 ssh,v 站一人帮你生成一个,应该够了
    ila
        7
    ila  
       Sep 10, 2021 via Android
    @JDog 鬼才
    privil
        8
    privil  
       Sep 10, 2021
    ……我上次生成了一个月的数据库备份,记得要改文件属性创建日期噢,哈哈哈
    maichael
        9
    maichael  
       Sep 10, 2021
    echo "orcl_ora_$(shuf -i 1000-9999 -n 1)_$(date '+%Y%m%d%H%M%S')$(shuf -i 10000000000000-99999999999999 -n 1).aud"

    对随机不敏感的情况可以用
    eason1874
        10
    eason1874  
       Sep 10, 2021
    胆子真大,不说是测试用数据,直接说应付检查
    maichael
        11
    maichael  
       Sep 10, 2021
    没看仔细,不过也一样,写个循环换下时间就行了
    类似这样:
    start=`date +%s`
    for i in {0..10};do
    next_date=$((start - i * 86400))
    for j in {0..9};do
    next_time=$((next_date - j * 60))
    filename="orcl_ora_$(shuf -i 1000-9999 -n 1)_$(date '+%Y%m%d%H%M%S' -d @$next_time )$(shuf -i 10000000000000-99999999999999 -n 1).aud"
    echo $filename
    done
    done
    MilkShake
        12
    MilkShake  
       Sep 10, 2021
    写个循环吧加时间
    YouLoveme
        13
    YouLoveme  
       Sep 10, 2021
    我也写来一个。for i in $(seq 0 180);do for j in $(seq 0 9);do echo orcl_ora_$[$RANDOM%9000+1000]_$(date -d "-$i day" "+%Y%m%d%H%M%d%N")$(openssl rand --base64 16|cksum|cut -c 3-7).aud;done;done
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   908 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 20:33 · PVG 04:33 · LAX 13:33 · JFK 16:33
    ♥ Do have faith in what you're doing.