• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 165
  • Last Modified:

how can i hide the password and also archive files with dates

Need a change in below script:

1) Want to encrypt the mdmdbpwd password how can i do that
2) I have another folder /userin/dev/archive i want to archive 10 days worth of file there with time stamp too.

like
marketing_acct_em.ixf_20140421 and marketing_acct_em.log_20140421
marketing_acct_em.ixf_20140420 and marketing_acct_em.log_20140420
and so on for 10 days after 10 days it should be deleted

#!/bin/sh
#---- Set Environment
mdmdb="EMMDB"
mdmdbuser="MKT_DBO"
mdmdbpwd="time44up"
#-----PATH=$PATH:/db2_src/db2ruin/sqllib/bin
#------export PATH
. /db2_src/db2ruin/sqllib/db2profile

#---- Connect to the Database
db2 connect to $mdmdb user $mdmdbuser using $mdmdbpwd 

#
# Whatever you want to do goes here...
#
db2 "EXPORT TO
/userin/MAT_Integration_dev/marketing_acct_em.ixf OF IXF
MESSAGES
/userin/MAT_Integration_dev/marketing_acct_em.log
select 'x' as id  from SYSIBM.SYSDUMMY1"

	

#---- Terminate DB2
db2 terminate

Open in new window

0
sam2929
Asked:
sam2929
  • 3
  • 3
1 Solution
 
ste5anSenior DeveloperCommented:
You don't gain any increase in security, cause you need the plain text password.

I'm not familiar with the command line tools of DB2, so an alternative may be using certifications instead. But this solution would be the same as placing your credentials in a separate file, so that you can share your script with others, just place the credentials file in your home.
0
 
sam2929Author Commented:
But this solution would be the same as placing your credentials in a separate file, so that you can share your script with others

Please tell me how can i do that

And also archive topic was not touched
0
 
simon3270Commented:
For archiving, something like
find  /userin/dev/archive -mtime +10 -exec rm '{}' \;

Open in new window

will remove all files older than 10 days in that directory and any subdirectories.
0
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

 
sam2929Author Commented:
what i need is archive then remove
0
 
simon3270Commented:
For archive, to move a specific file to the archive directory, add this to the end of your script:

    cp /userin/MAT_Integration_dev/marketing_acct_em.log /userin/dev/archive/marketing_acct_em_$(date '+%Y%m%d_%H%M%S').log

That will copy the named file, add a timestamp (as YYYYMMDD_HHMMSS) to the name, and put it into the archive directory.

The archive removal line I gave earlier doesn't actually look at the time and date in the file name - it relies ion the "last modified" timestamp built into the file information.
0
 
sam2929Author Commented:
getting below error when i put delete ate end of script

#---- Delete files older then 10 days from archive folder

find  /userin/dev/archive/ -type f -mtime +10 -exec rm {}/
0
 
simon3270Commented:
What error?

That's not what i wrote - the end of the "find" line should be:

    -exec rm '{}' \;

the single quotes round the {} stop the shell interpreting the braces, and the backslash before the ; does the same (no, I'm not sure why I use two different ways to protect text from the shell, but that just seems to be the way this style of command is always written!)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now