Need help setting up script


 
Thread Tools Search this Thread
Operating Systems Solaris Need help setting up script
# 1  
Old 09-28-2011
Need help setting up script

Hello all, I am trying to setup a script that will copy any files older than 30 days in four directories to my windows box, then delete any files older than 30days in the four directories, verify that they are deleted, then send me a confirmation email.

I would like to set this up as a cron job to run once a week on Sunday at 9pm.

So far I have this for the script:

find /data/folder1/ -type f -mtime +30 | xargs rm -f
find /data/folder2/ -type f -mtime +30 | xargs rm -f
find /data/folder3/ -type f -mtime +30 | xargs rm -f
find /data/folder4/ -type f -mtime +30 | xargs rm -f

That is the portion for deleting the files, but I am not sure about copying the files first to my windows box, verifying they are deleted, then sending an email.

The box is solaris 8. I don't have much experience with Unix so I appreciate the help.
# 2  
Old 09-28-2011
gather your commands
Code:
find /data/folder[1-4] -type f -mtime +30 | xargs rm -f

# 3  
Old 09-28-2011
Hi ctsgnb, thank you for the response. Actually they all have different names, I just labeled them as newfolder 1 etc.

Do you have any suggestions on:

Copying files older than 30 days to a windows box
Verifying that the script completed
Sending a confirmation email.

Thanks and I appreciate your time.
# 4  
Old 09-28-2011
The below script will do your work.

Code:
#!/bin/ksh
EMAIL=""  ## To whom the list goes after completion
WINDOWS_SHARE="" ## Windows share where the files will be copied
for LOOK_DIR in folder1 folder2 folder3 folder4
do
for FILE in `find ${LOOK_DIR} -type f -mtime +30 -print`
do
echo ${FILE} >> file_list ## This file will have the list of files copied and removed
cp ${FILE} ${WINDOWS_SHARE} ## Copies your file to windows share
rm ${FILE}   ## Deletes the file
done
done
cat file_list | mailx -s "list of files copied and deleted" ${EMAIL}

You can customise the mailx command as you want.

Remember to put the email address and windows share mounted on your server inside the quotes for their variable.

Regards,
Vishal
# 5  
Old 09-28-2011
Quote:
Originally Posted by vishalaswani
The below script will do your work.

Code:
#!/bin/ksh
EMAIL=""  ## To whom the list goes after completion
WINDOWS_SHARE="" ## Windows share where the files will be copied
for LOOK_DIR in folder1 folder2 folder3 folder4
do
for FILE in `find ${LOOK_DIR} -type f -mtime +30 -print`
do
echo ${FILE} >> file_list ## This file will have the list of files copied and removed
cp ${FILE} ${WINDOWS_SHARE} ## Copies your file to windows share
rm ${FILE}   ## Deletes the file
done
done
cat file_list | mailx -s "list of files copied and deleted" ${EMAIL}

You can customise the mailx command as you want.

Remember to put the email address and windows share mounted on your server inside the quotes for their variable.

Regards,
Vishal
Awesome, thank you for the help!!

To edit my variables, does this sound about right?

Code:
#!/bin/ksh
EMAIL="user1@emailaddress.com, user2@emailaddress.com"  ## To whom the list goes after completion
WINDOWS_SHARE="\\windowsbox\file_backup" ## Windows share where the files will be copied
for LOOK_DIR in /data/folder1 /data/folder2 /data/folder3 /data/folder4
do
for FILE in `find ${LOOK_DIR} -type f -mtime +30 -print`
do
echo ${FILE} >> file_list ## This file will have the list of files copied and removed
cp ${FILE} ${WINDOWS_SHARE} ## Copies your file to windows share
rm ${FILE}   ## Deletes the file
done
done
cat file_list | mailx -s "Email Notification for Unix Server. Removal of old files" ${EMAIL}

Also to confirm, do I save this as a .sh or .ksh ?

Once again, thank you for your help!
# 6  
Old 10-04-2011
Your windows share doesn't appears correct, it has to be NFS mounted on your server, which I think needs some configuration on windows box, to enable NFS mounting of the share on Unix.

You can save it with any name you want, since we have specified which shell to use for executing [check the first line], but the best way to keep is .ksh as it will be executed on korn shell.

Regards,
Vishal
# 7  
Old 10-04-2011
Sorry to bump this thread. Would there be any way to tar the files before copying them to a windows share?

Also, what would be the easiest way to set this up as a cron job?

All the help is greatly appreciated.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Is there a difference between setting a user as nologin and setting it as a role?

Trying to figure out the best method of security for oracle user accounts. In Solaris 10 they are set as regular users but have nologin set forcing the dev's to login as themselves and then su to the oracle users. In Solaris11 we have the option of making it a role because RBAC is enabled but... (1 Reply)
Discussion started by: os2mac
1 Replies

2. Shell Programming and Scripting

Setting time for running of the script

Dear all, I wonder if it is possible that we can run the script from time to time..I meant, it should repeat the sourcing of the script by itself? In my case, I need to source this script manually from time to time, like once in every 10 minutes. emily, (2 Replies)
Discussion started by: emily
2 Replies

3. Shell Programming and Scripting

Setting Verbosity Option of Script

I have a script and I want the verbosity option to work in the following way: User can either set quiet (no verbosity), use default verbosity level (when doing -v), or set a level value (when doing -v=2 or --vrbLevel=2). I am making some more progress on this and am thinking of this idea. ... (4 Replies)
Discussion started by: kristinu
4 Replies

4. Shell Programming and Scripting

Setting a TZ variable in a script

Hello all, I know this must be simple .... but i can't grasp what could be the issue. I'm trying to setup the timezone variable (to the unix command date) according to what i find in a value that i got from parsing the config file. The end result would be setting the log file with this new... (4 Replies)
Discussion started by: maverick72
4 Replies

5. Shell Programming and Scripting

Setting script exit code

#!/bin/ksh row=`sed '1!G;h;$!d' file1.xml | head -2| tail -1` echo "$row" | awk -F"" '{$esum=$5}' row=`sed '1!G;h;$!d' file2.xml | head -2| tail -1` echo "$row" | awk -F"" '{$isum=$5+$19}' echo "Exp:$esnum" echo "Imp:$isum" if then echo "Matched" else echo "Not matched" fi ... (6 Replies)
Discussion started by: skyineyes
6 Replies

6. UNIX for Dummies Questions & Answers

Setting env variables using script

Hi, I wrote two small scripts to set env variables in a shell. java_env.csh #!/bin/csh -fn setenv JAVA_HOME '/scratch/software/jdk1.5.0_11' setenv PATH $PATH':'$JAVA_HOME'/bin' and run it using csh ./java_env.csh But the env variables are not set. I tried running each line on the... (5 Replies)
Discussion started by: NoviceAmod
5 Replies

7. Shell Programming and Scripting

Need help in setting up a script..

Hi i need to have a update for a file that updates only the last modified content from another file.... say for example....if file A is having content like . . . hatxxxx catxxxx ratxxxx and file B(the file to be updated is having content as hatxxxx catxxxx then file B has to be... (12 Replies)
Discussion started by: spikywits
12 Replies

8. UNIX for Dummies Questions & Answers

setting a global variable in script

Hi All, I know to set global variable i can use export .. But take the situation like below .. I want to set a variable in one script and access that in second script i have done like this .. It is not working one.sh #!/usr/bin/ksh echo $RISSHI export RISSHI=1 two.sh... (3 Replies)
Discussion started by: arunkumar_mca
3 Replies

9. AIX

umask setting on a logon script

hi, am new to AIX. i have an issue. iam asked to change the umask setting on a logon script on a server to prevent writable files. i logged in as the root user and typed in umask and it displays 022, which i believe is 755 for direc and 644 for files. 1) how to I identify where the logon script... (2 Replies)
Discussion started by: karthikosu
2 Replies

10. UNIX for Advanced & Expert Users

setting passwd in script

HP-UX 11 I currently have a script that is running useradd and passwd commands to automate setting up new users. It was originally designed so that passwd was run with -d -f to delete a passwd and force user to set passwd at next login. Now mgmt wants instead to set a first-time passwd and have... (2 Replies)
Discussion started by: LisaS
2 Replies
Login or Register to Ask a Question