Skip to main content

Bash Script For Transferring Or Synchronizing RMAN Backup Files From One Server (SourceSrv) To Another Server (DestinationSrv) And Deleting Old RMAN Backup Files




Bash Script For Transferring Or Synchronizing RMAN Backup Files From One Server (SourceSrv) To Another Server (DestinationSrv) And Deleting Old RMAN Backup Files



Source Host: SourceSrv                                                         Destination Host: DestinationSrv

LogIn on DestinationSrv:

mkdir -p /home/rony/.scripts/

touch /home/rony/.scripts/rsync.sh

touch /home/rony/.scripts/rsync.log

chmod u+x /home/rony/.scripts/rsync.sh

For killall command install: sudo dnf search psmisc


tee /home/rony/.scripts/rsync.sh >/dev/null <<EOF

#!/bin/bash

##################################################################################################################

export Script=/home/rony/.scripts/

export Source=rony@SourceSrv:/u01/rman_backup/

export Destination=/u01/db_backup/backup_from_DestinationSrv/rman/backup_files/

export LogFile=${Script}/rsync.log

echo 'Source : '${Source} 2>&1 | tee -a ${Script}/rsync.log

echo 'Destination : '${Destination} 2>&1 | tee -a ${Script}/rsync.log

##################################################################################################################

echo 'Task-01: Kill already running rsync process. Start at '$(date) 2>&1 | tee -a ${Script}/rsync.log

sleep 30

killall rsync

sleep 30

echo 'Task-01: Kill already running rsync process. End at '$(date) 2>&1 | tee -a ${Script}/rsync.log

##################################################################################################################

echo 'Task-02: Transfering RMAN Backup Files From '${Source}' to '${Destination}'.. Start at '$(date) 2>&1 | tee -a ${Script}/rsync.log

sleep 30

rsync --log-file=${LogFile} -avrPh --force -e ssh ${Source} ${Destination}

sleep 30

echo 'Task-02: Transfering RMAN Backup Files From '${Source}' to '${Destination}'.. End at '$(date) 2>&1 | tee -a ${Script}/rsync.log

##################################################################################################################

echo 'Task-03: Deleting 10 Days Older Files.. Start at '$(date) 2>&1 | tee -a ${Script}/rsync.log

echo 'Print all dir------------------------------------------------Start' 2>&1 | tee -a ${Script}/rsync.log

for dir in ${Destination[@]}

do

 echo 'Backup_Diretory: '$dir 2>&1 | tee -a ${Script}/rsync.log

 for readDir in $dir

 do

 echo 'Reading_Directory: ' $readDir 2>&1 | tee -a $Script/rsync.log cd $readDir #ls echo 'pwd: ' $(pwd) 2>&1 | tee -a $Script/rsync.log

 echo 'Print ten days older all files------------------------------------------------Start' 2>&1 | tee -a ${Script}/rsync.log

 for file in $(find $readDir -mtime +7)

 do

 echo 'File_name : '$file 2>&1 | tee -a ${Script}/rsync.log

 echo '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'

      echo 'delete start for the file: '$file 2>&1 | tee -a ${Script}/rsync.log

      echo 'Please wait................' 2>&1 | tee -a ${Script}/rsync.log

      rm -rfv $file

      echo 'delete completed for the file: '$file 2>&1 | tee -a ${Script}/rsync.log

 echo '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'

 done

 echo 'Print ten days older all files------------------------------------------------End' 2>&1 | tee -a ${Script}/rsync.log

 done

done

echo 'Print all dir------------------------------------------------End' 2>&1 | tee -a ${Script}/rsync.log

echo 'Task-03: Deleting 10 Days Older Files.. End at '$(date) 2>&1 | tee -a ${Script}/rsync.log

##################################################################################################################

EOF


crontab -e

#11 18 * * * /home/rony/.scripts/rsync.sh


watch -n 1 'tail -n 29 /var/log/cron'

watch -n 1 'ps -axuwwf | grep rsync'

watch -n 1 'tail -n 29 /home/rony/.scripts/rsync.log'




Comments

Popular posts from this blog

Upgrading Issue for RHEL 7 to 8 With Leapp

Overview The Leapp utility is a framework for updating and upgrading operating systems as well as applications. The operations of this utility consist of two phases 1. the preupgrade Phase – that chack the upgrade possibilities and 2. the actual upgrade phase – that map packages between previous and current versions of the software packages. Issue – 01: After running ‘ sudo leapp preupgrade ‘ sometimes you find the below issue in ‘ /var/log/leapp/leapp-report.txt ‘. Detail: Risk Factor: high (inhibitor) Title: Leapp detected loaded kernel drivers which have been removed in RHEL 8. Upgrade cannot proceed. Summary: Support for the following RHEL 7 device drivers has been removed in RHEL 8: – pata_acpi Key: f08a07da902958defa4f5c2699fae9ec2eb67c5b Remediation: 1. Disable detected kernel drivers in order to proceed with the upgrade process using the rmmod or modprobe -r . rmmod – Simple program to remove a module from the Linux Kernel modprobe – Add and remove modules from the Linux Ke...

ORA-00800: soft external error arguments

The problem as stated: After upgrading the Oracle Database from 12c to 19c the following error generated in the alert log file. Actual Oracle Error Code: ORA-00800 After Upgrading from 12c to 19c ORA-00800: soft external error, arguments occured Oracle Database Enterprise 19c fails to start with error: ORA-00800: soft external error, arguments: [Set Priority Failed], [VKTM] Why does Insights prevent Oracle grid services from starting How to configure the User slice to allow Real-Time Scheduling for user processes In Alert Log: Errors in file /u01/app/oracle/diag/rdbms/orclproddbone/orclprod/trace/psbcdb_vktm_3529.trc (incident=1200048) (PDBNAME=CDB$ROOT): ORA-00800: soft external error, arguments: [Set Priority Failed], [VKTM], [Check traces and OS configuration], [Check Oracle document and MOS notes], [] Incident details in: /u01/app/oracle/diag/rdbms/orclproddbone/orclprod/incident/incdir_1200048/psbcdb_vktm_3529_i1200048.trc 2023-10-30T10:04:53.536165+06:00 Error attempting to elev...

The Oracle Management Server (OMS) host and port specified via OMS_HOST and EM_UPLOAD_PORT is not available

The Oracle Management Server (OMS) host and port specified via OMS_HOST and EM_UPLOAD_PORT is not available. 1.0. error message: Error Message: The Oracle Management Server (OMS) host and port specified via OMS_HOST and EM_UPLOAD_PORT is not available. Pass in a valid hostname and port number for the OMS to successfully deploy the agent. 1.1. deploy log: Log: /opt/gc_inst/em/EMGC_OMS1/sysman/agentpush/2023-11-07_16-09-23-PM/applogs/dblivesrv_deploy.log Execution of command cd /opt/agent/ADATMP_2023-11-07_16-09-23-PM;/opt/agent/ADATMP_2023-11-07_16-09-23-PM/agentDeploy.sh -ignorePrereqs ORACLE_HOSTNAME=dblivesrv AGENT_BASE_DIR=/opt/agent OMS_HOST=oemsrv.localdomain EM_UPLOAD_PORT=4903 AGENT_INSTANCE_HOME=/opt/agent/agent_inst b_doDiscovery=false START_AGENT=false b_forceInstCheck=true -force AGENT_PORT=3872 on host dblivesrv Failed 1.2. oms details: [oracle@oemsrv ~]$ $OMS_HOME/bin/emctl status oms -details Oracle Enterprise Manager Cloud Control 13c Release 5 Copyright (c) 1996, 2...