Using include.fs to only backup /

prasath

Active Newcomer
Joined
Jun 4, 2014
Messages
6
Reaction score
0
Points
0
Hi,

I'm trying to backup only "/" filesystem and excluding everything else from the backup.
This is what I have in dsm.sys file:

exclude /.../*
exclude.dir /var/adm/crash
exclude.dir /opt/nsh/NSH/log
exclude.dir /opt/nsh/Transactions/log
exclude.dir /var/centrifydc
exclude.dir /tsm/logs
include /home/.../*
include /tsm/.../*
include /etc/.../*
include /opt/.../*
include /usr/.../*
include /var/.../*
*include /root/.../*
include.fs / memoryefficientbackup=no

When I give dsmc q inclexcl, this is what i get.But I see that strange thing //*/* below.

Mode Function Pattern (match from top down) Source File
---- --------- ------------------------------ -----------------
No exclude filespace statements defined.
Excl Directory /.../.TsmCacheDir TSM
Excl Directory /tsm/logs "/tsm/conf/obdmgt00/inclexcl"
Excl Directory /var/centrifydc "/tsm/conf/obdmgt00/inclexcl"
Excl Directory /opt/nsh/Transactions/log "/tsm/conf/obdmgt00/inclexcl"
Excl Directory /opt/nsh/NSH/log "/tsm/conf/obdmgt00/inclexcl"
Excl Directory /var/adm/crash "/tsm/conf/obdmgt00/inclexcl"
Include FS //*/* "/tsm/conf/obdmgt00/inclexcl"
Include All /var/.../* "/tsm/conf/obdmgt00/inclexcl"
Include All /usr/.../* "/tsm/conf/obdmgt00/inclexcl"
Include All /opt/.../* "/tsm/conf/obdmgt00/inclexcl"
Include All /etc/.../* "/tsm/conf/obdmgt00/inclexcl"
Include All /tsm/.../* "/tsm/conf/obdmgt00/inclexcl"
Include All /home/.../* "/tsm/conf/obdmgt00/inclexcl"
Exclude All /.../* "/tsm/conf/obdmgt00/inclexcl"

Now when I backup the below file,I get the below error.

tsm> s /root/ashley/adHocCollector.py
Selective Backup function invoked.


ANS1898I ***** Processed 2,500 files *****
ANS1115W File '/root/ashley/adHocCollector.py' excluded by Include/Exclude list
Selective Backup processing of '/root/ashley/adHocCollector.py' finished without failure.




Total number of objects inspected: 2,509
Total number of objects backed up: 0
Total number of objects updated: 0
Total number of objects rebound: 0
Total number of objects deleted: 0
Total number of objects expired: 0
Total number of objects failed: 0
Total number of bytes inspected: 5.07 MB
Total number of bytes transferred: 0 B
Data transfer time: 0.00 sec
Network data transfer rate: 0.00 KB/sec
Aggregate data transfer rate: 0.00 KB/sec
Objects compressed by: 0%
Total data reduction ratio: 100.00%
Elapsed processing time: 00:00:01





I've been breaking my head over it but I'm clueless.
Can you please help me?
 
If you only want to backup one filesystem, you can use the DOMAIN option:
Code:
domain /

Or you can go the other way around and have all-local, minus the filesystems you do not want.:
Code:
domain all-local -/fs1 -/fs2 ...

More info:
http://www-01.ibm.com/support/knowl...ibm.itsm.client.doc/r_opt_domain.html?lang=en

Just to add some info to the original problem description:
The object of the exercise is to add filesystem "/" to the backups. The whole issue is the fact that the "include.fs" statement is being ignored. This Linux box was running TSM client v6.2, it was upgraded to 6.4.1 (just in case of a bug in this version), but this made no difference.
Adding the Domain statements was tried with no effect. Initially, there was no Domain statement in dsm.opt, making it default to ALL-LOCAL, but when the issue was picked up we tried adding the Domain statements, listing the filesystems explicitly.
 
Do you want to address the errors in the original post or want to know how to backup /? Because, that's 2 different things. It looks like you are backing up / fine. The error is simple, you excluded everything, but never included /root/..., so you cannot backup content of /root/...
 
Do you want to address the errors in the original post or want to know how to backup /? Because, that's 2 different things. It looks like you are backing up / fine. The error is simple, you excluded everything, but never included /root/..., so you cannot backup content of /root/...


Hi,
/root is not a seperate filesystem. root is a directory under "/" filesys.
And we have included / in the inclexcl.
Hope I'm clear.
 
Hi,
what is the result if you resumed the line of include /root/.../* and comment out the include.fs statement?

include.fs work if you use 'full incremental' (not a selective backup on specific file), which it somehow works like a 'domain /xxx'

It seems include statement should be used for your case.
 
Hi,
what is the result if you resumed the line of include /root/.../* and comment out the include.fs statement?

include.fs work if you use 'full incremental' (not a selective backup on specific file), which it somehow works like a 'domain /xxx'

It seems include statement should be used for your case.

Yes,that works.
But that won't work for directories/files other than /root.
Our intention is to backup all dir/files in / filesystem.
Rest should be excluded.

I think even with domain /,selective doesn't work with that,only incremental works.
 
You are over complicating this then. If you only want to backup / and all it's files, then you can remove all your include excludes, and simply put:
Code:
domain /

If you do an incremental, it will only backup the / filesystem

If you do a selective, you have to tell it what to backup, so just tell it to backup what you want:
Code:
dsmc selective /
The above will only backup the / filesystem
 
Yes,that works.
But that won't work for directories/files other than /root.
Our intention is to backup all dir/files in / filesystem.
Rest should be excluded.

I think even with domain /,selective doesn't work with that,only incremental works.

Hi,

That's true because you have excluded everything in the very beginning with exclude /.../*
so whenever you need some other directories to be backed up, you will need 'include /xxx/.../*' to allow it to be backed up

and actually i echo with marclant that you are making the job complex, which it could be done by the domain option.
 
Hi,

That's true because you have excluded everything in the very beginning with exclude /.../*
so whenever you need some other directories to be backed up, you will need 'include /xxx/.../*' to allow it to be backed up

and actually i echo with marclant that you are making the job complex, which it could be done by the domain option.

OK, let's clarify/start from scratch:

The original inclexcl file was:

exclude /.../*
exclude.dir /var/adm/crash
exclude.dir /opt/nsh/NSH/log
exclude.dir /opt/nsh/Transactions/log
exclude.dir /var/centrifydc
exclude.dir /tsm/logs
include /home/.../*
include /tsm/.../*
include /etc/.../*
include /opt/.../*
include /usr/.../*
include /var/.../*

Then a request came in to include files in filesystem " / " in the backups - at that time it was excluded by "exclude /.../*". The reason "/root" is in there is because of the files I used for testing - it is located under /root dir structure. But the backups are required for ALL files in " / " filesystem, not just "/root", which is a directory under /, not a separate filespace. This is the reason include.fs was used - the backups are required for all files/dirs in the filesystem, in addition to the current include/exclude statements above.
The solution seems simple - to add "include.fs /" at the bottom of inclexcl file. The addition of Domain statement to dsm.opt should not be required, as "all-local" is implied. There is no option set overriding the local include/exclude options.
It is after adding "include.fs /" we found the issue - include.fs is being "ignored".
Hope this makes the issue clearer.
 
OK, let's clarify/start from scratch:

The original inclexcl file was:

exclude /.../*
exclude.dir /var/adm/crash
exclude.dir /opt/nsh/NSH/log
exclude.dir /opt/nsh/Transactions/log
exclude.dir /var/centrifydc
exclude.dir /tsm/logs
include /home/.../*
include /tsm/.../*
include /etc/.../*
include /opt/.../*
include /usr/.../*
include /var/.../*

Then a request came in to include files in filesystem " / " in the backups - at that time it was excluded by "exclude /.../*". The reason "/root" is in there is because of the files I used for testing - it is located under /root dir structure. But the backups are required for ALL files in " / " filesystem, not just "/root", which is a directory under /, not a separate filespace. This is the reason include.fs was used - the backups are required for all files/dirs in the filesystem, in addition to the current include/exclude statements above.
The solution seems simple - to add "include.fs /" at the bottom of inclexcl file. The addition of Domain statement to dsm.opt should not be required, as "all-local" is implied. There is no option set overriding the local include/exclude options.
It is after adding "include.fs /" we found the issue - include.fs is being "ignored".
Hope this makes the issue clearer.

Hi, If you read carefully from IBM document, include.fs is to control on how TSM client react with 'incrmental' backups, not for selective backup.
 
Sorry, no luck with incremental.

Created a test file under "/" and tried running an incremental - same issue:

$ ls -l /test.gg
-rw-r--r-- 1 pggitlin root 10 Jul 7 05:00 /test.gg

This file currently does not exist in TSM:
[pggitlin@obdmgt00 ~]$ sudo dsmc q b /test.gg
--------
Server Version 6, Release 2, Level 5.0
Server date/time: 07/08/2014 06:10:05 Last access: 07/08/2014 06:09:35


ANS1092W No files matching search criteria were found




Current inclexcl, interpreted by the client:

[pggitlin@obdmgt00 ~]$ sudo dsmc q inclexcl
...
Client Version 6, Release 4, Level 1.0
...
Server Version 6, Release 2, Level 5.0

*** FILE INCLUDE/EXCLUDE ***
Mode Function Pattern (match from top down) Source File
---- --------- ------------------------------ -----------------
No exclude filespace statements defined.
Excl Directory /.../.TsmCacheDir TSM
Excl Directory /tsm/logs "/tsm/conf/obdmgt00/inclexcl"
Excl Directory /var/centrifydc "/tsm/conf/obdmgt00/inclexcl"
Excl Directory /opt/nsh/Transactions/log "/tsm/conf/obdmgt00/inclexcl"
Excl Directory /opt/nsh/NSH/log "/tsm/conf/obdmgt00/inclexcl"
Excl Directory /var/adm/crash "/tsm/conf/obdmgt00/inclexcl"
Include FS //*/* "/tsm/conf/obdmgt00/inclexcl" <====This is "include.fs / memoryefficientbackup=no"
Include All /var/.../* "/tsm/conf/obdmgt00/inclexcl"
Include All /usr/.../* "/tsm/conf/obdmgt00/inclexcl"
Include All /opt/.../* "/tsm/conf/obdmgt00/inclexcl"
Include All /etc/.../* "/tsm/conf/obdmgt00/inclexcl"
Include All /tsm/.../* "/tsm/conf/obdmgt00/inclexcl"
Include All /home/.../* "/tsm/conf/obdmgt00/inclexcl"
Exclude All /.../* "/tsm/conf/obdmgt00/inclexcl"
No DFS include/exclude statements defined.


And the inclexcl in raw format:

$ cat "/tsm/conf/obdmgt00/inclexcl"
------
exclude /.../*
exclude.dir /var/adm/crash
exclude.dir /opt/nsh/NSH/log
exclude.dir /opt/nsh/Transactions/log
exclude.dir /var/centrifydc
exclude.dir /tsm/logs
include /home/.../*
include /tsm/.../*
include /etc/.../*
include /opt/.../*
include /usr/.../*
include /var/.../*
*include /root/.../*
include.fs / memoryefficientbackup=no <====The line that is being "ignored"


Backup test:
[pggitlin@obdmgt00 ~]$ sudo dsmc i /test.gg
IBM Tivoli Storage Manager
Command Line Backup-Archive Client Interface
Client Version 6, Release 4, Level 1.0
Client date/time: 07/08/2014 06:09:09
(c) Copyright by IBM Corporation and other(s) 1990, 2013. All Rights Reserved.


Node Name: OBDMGT00
Session established with server TSM11: AIX
Server Version 6, Release 2, Level 5.0
Server date/time: 07/08/2014 06:09:09 Last access: 07/08/2014 06:08:42




Incremental backup of volume '/test.gg'
ANS1898I ***** Processed 500 files *****
ANS1898I ***** Processed 1,500 files *****
ANS1898I ***** Processed 2,500 files *****
ANS1898I ***** Processed 4,000 files *****
ANS1898I ***** Processed 5,500 files *****
ANS1898I ***** Processed 7,500 files *****
ANS1898I ***** Processed 9,000 files *****
ANS1898I ***** Processed 11,000 files *****
ANS1898I ***** Processed 12,500 files *****
ANS1898I ***** Processed 15,000 files *****
ANS1898I ***** Processed 17,000 files *****
ANS1898I ***** Processed 19,000 files *****
ANS1898I ***** Processed 22,000 files *****
ANS1898I ***** Processed 23,500 files *****
ANS1898I ***** Processed 25,500 files *****
ANS1898I ***** Processed 27,500 files *****
ANS1898I ***** Processed 29,500 files *****
ANS1898I ***** Processed 31,500 files *****
ANS1898I ***** Processed 33,500 files *****
ANS1898I ***** Processed 36,000 files *****
ANS1898I ***** Processed 38,000 files *****
ANS1898I ***** Processed 40,500 files *****
ANS1898I ***** Processed 42,000 files *****
ANS1898I ***** Processed 42,500 files *****
Successful incremental backup of '/test.gg'




Total number of objects inspected: 42,681
Total number of objects backed up: 0 <===== Nothing backed up, even though the backup is "successful", this file is not in TSM (see query backup output above) , so it should be backed up.
Total number of objects updated: 0
Total number of objects rebound: 0
Total number of objects deleted: 0
Total number of objects expired: 0
Total number of objects failed: 0
Total number of bytes inspected: 124.65 MB
Total number of bytes transferred: 0 B
Data transfer time: 0.00 sec
Network data transfer rate: 0.00 KB/sec
Aggregate data transfer rate: 0.00 KB/sec
Objects compressed by: 0%
Total data reduction ratio: 100.00%
Elapsed processing time: 00:00:25




 
hi ggitlin,

include.fs / exlude.fs is actually referring to include / exclude the filesystem from backup, in while file level backup is not affected.
In your case, dsmc i /test.gg is actually calling for file level backup (where /test.gg is not a mounted filesystem)
The case is
exclude /.../* is taken into effect where the each files under /test.gg is matching the pattern of the rule, so you won't get any backup.

so you should not use include.fs in your case if you are doing a file level backup under "/" FS


 
Refer back to post #8

You already have spent a lot of time on this. Just give it a try, you will see for yourself, no need to believe us.

SniperKing is right, it's your exclude /.../* that is causing the object to be excluded. If you audit or trace the backup, you'd see it's flagged as excluded. If you had access to the Java GUI, you'd see it has a DO NOT sign over it, and if you looked at the file details, it would tell you because of which exclude too.
 
Refer back to post #8

You already have spent a lot of time on this. Just give it a try, you will see for yourself, no need to believe us.

SniperKing is right, it's your exclude /.../* that is causing the object to be excluded. If you audit or trace the backup, you'd see it's flagged as excluded. If you had access to the Java GUI, you'd see it has a DO NOT sign over it, and if you looked at the file details, it would tell you because of which exclude too.

Thank You for the replies.

Apologies for not replying sooner - was away on leave.
Understand the point, but please allow me to reiterate to clarify my position:

I WANT TO back up everything under "/" filesystem. This is the requirement of this task.

If an object exists under "/" filesystem, it SHOULD be backed up. I am trying to achieve this by adding "include.fs / " to the bottom of inclexcl.

exclude /.../*
exclude.dir /var/adm/crash
exclude.dir /opt/nsh/NSH/log
exclude.dir /opt/nsh/Transactions/log
exclude.dir /var/centrifydc
exclude.dir /tsm/logs
include /home/.../*
include /tsm/.../*
include /etc/.../*
include /opt/.../*
include /usr/.../*
include /var/.../*
*include /root/.../*
include.fs / memoryefficientbackup=no


If an object is not under "/" filesystem - the original inclexcl applies - if it does not fall under one of the includes, it gets excluded by "exclude /.../*"

I understand that my test file, that exists under "/" filesystem, is excluded by the "exclude /.../*", I am not questioning this. My question is - Why is "include.fs /" ignored? The /test.gg file should be backed up, because it is in "/" filesystem, the inclexcl list is processed "bottom-to-top", so the "include.fs /" statement should apply before "exclude /.../*", but it is "skipped/ignored" and /test.gg is matched by "exclude /.../*" .


Just to be sure - I just ran "dsmc i /" and the test file /test.gg was not backed up.

Hope this clarifies the case.
 
That's not the purpose of include.fs. It's to pass options to a specific filesystem when you have multiple filesystems to process and want different options for each. It's not to include it as / is already included anyway as part of "domain all-local", which is not specified, but that's the default value when it's not specified.

dsm.opt:
Code:
domain /

command:
Code:
dsmc i

There, you are backing up all of /, and nothing but /, you are not backing up other filesystems.
 
Back
Top