Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Chattr recursive exclude directory Post 303043170 by MadeInGermany on Monday 20th of January 2020 03:46:31 PM
Old 01-20-2020
You must prune the excluded directory. -o continues when not pruned.
Further, find is recursive; you may not run another recursive command in it.
Code:
find /mysite/public_html -wholename '/mysite/public_html/images' -prune -o -exec chattr +i {} \;

If you prevent recursion for all directories then you can run a recursive command, and in this case you do not need to prune:
Code:
find /mysite/public_html -mindepth 1 -maxdepth 1 \! -name 'images' -exec chattr -R +i {} \;


Last edited by MadeInGermany; 01-20-2020 at 05:00 PM..
This User Gave Thanks to MadeInGermany For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Tar directory but exclude other

OS: SunOS perfs01 5.8 Generic_117350-23 sun4u sparc SUNW,UltraAX-i2 I want to tar a directory, but there are subdirectoires I want to exclude. Does anyone know how to do it? Please help. thanks. (1 Reply)
Discussion started by: leemjesse
1 Replies

2. Programming

recursive copy of the directory

I want to copy a directory recursively ( it again has directories) and the directory is on windows and is nfsmounted in vxWorks, i am using unix to develop the code for this, can any one suggest me how to copy the directories recursively. (7 Replies)
Discussion started by: deepthi.s
7 Replies

3. UNIX for Dummies Questions & Answers

Exclude a directory to tar

If use tar file from a directory , how to exclude a sub-directory in this directory ? ll drw-r--r-- 1 root root 4096 Oct 12 11:58 b drw-r--r-- 1 root root 4096 Oct 12 10:54 c drwxr-xr-x 2 root root 4096 Oct 12 11:57 d drw-r--r-- 1 root root 4096 Oct 12 10:54 d eg . I want to tar all files... (2 Replies)
Discussion started by: ust
2 Replies

4. UNIX and Linux Applications

CVS recursive diff -- how to exclude specific directories?

I think I've seen out there that there is a command to ignore specific files within a directory when doing a (-R) recursive diff. I've never used this so I was wondering if there was anyone who could provide an example how I would run this. My thoughts are something like: cvs diff -i <fileName1>... (2 Replies)
Discussion started by: airon23bball
2 Replies

5. Programming

Recursive remove directory.

What is the best way to completely remove dir with it's content ??? rmdir deletes only EMPTY dirs as i know. The man page of remove function says "remove() deletes a name from the file system." Can it remove any dir recursively ??? :rolleyes: (7 Replies)
Discussion started by: Trump
7 Replies

6. UNIX for Dummies Questions & Answers

recursive wc on a directory?

Hi all, I need to count the number of lines in all the files under a directory (several levels deep). I am feeling extremely dumb, but I don't know how to do that. Needless to say, I am not a shell script wiz... Any advice? thanks in advance! (13 Replies)
Discussion started by: bimba17
13 Replies

7. Shell Programming and Scripting

Exclude a directory in 'find'

Hi, I'm in the process of writing a shell script which will be ran under cron hourly and will check for files of specific age in my ftp folder, then moves those over inside a folder called "old" (which is within the ftp dir). But, I'm unable to figure out how to exclude the "old" folder when... (1 Reply)
Discussion started by: mutex1
1 Replies

8. UNIX for Advanced & Expert Users

Recursive directory search using ls instead of find

I was working on a shell script and found that the find command took too long, especially when I had to execute it multiple times. After some thought and research I came up with two functions. fileScan() filescan will cd into a directory and perform any operations you would like from within... (8 Replies)
Discussion started by: newreverie
8 Replies

9. UNIX for Dummies Questions & Answers

recursive copy into a directory and all its subdirectories...

I want to copy a file from the top directory into all the sub-folders and all of the sub-folders of those sub-folder etc. Does anyone have any idea how to do this? Thanks in advance of any help you can give. (3 Replies)
Discussion started by: EinsteinMcfly
3 Replies

10. Cybersecurity

Alternative for chattr

Hello im working on "remover script" which try to remove "kthrotlds MINER VIRUS" in next part of my remover script i have to work on files that it destroyed, virus use chattr to open and lock files and replace them with malicious content im looking for a solution to remove chattr and disable... (9 Replies)
Discussion started by: nimafire
9 Replies
CHATTR(1)						      General Commands Manual							 CHATTR(1)

NAME
chattr - change file attributes on a Linux second extended file system SYNOPSIS
chattr [ -RV ] [ -v version ] [ mode ] files... DESCRIPTION
chattr changes the file attributes on a Linux second extended file system. The format of a symbolic mode is +-=[ASacDdIijsTtu]. The operator `+' causes the selected attributes to be added to the existing attributes of the files; `-' causes them to be removed; and `=' causes them to be the only attributes that the files have. The letters `ASacDdijsu' select the new attributes for the files: don't update atime (A), synchronous updates (S), synchronous directory updates (D), append only (a), compressed (c), no dump (d), immutable (i), data journalling (j), secure deletion (s), top of directory hier- archy (T), no tail-merging (t), and undeletable (u). OPTIONS
-R Recursively change attributes of directories and their contents. Symbolic links encountered during recursive directory traversals are ignored. -V Be verbose with chattr's output and print the program version. -v version Set the file's version/generation number. ATTRIBUTES
When a file with the 'A' attribute set is accessed, its atime record is not modified. This avoids a certain amount of disk I/O for laptop systems. A file with the `a' attribute set can only be open in append mode for writing. Only the superuser or a process pessessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute. A file with the `c' attribute set is automatically compressed on the disk by the kernel. A read from this file returns uncompressed data. A write to this file compresses data before storing them on the disk. When a directory with the `D' attribute set is modified, the changes are written synchronously on the disk; this is equivalent to the `dirsync' mount option applied to a subset of the files. A file with the `d' attribute set is not candidate for backup when the dump(8) program is run. The 'E' attribute is used by the experimental compression patches to indicate that a compressed file has a compression error. It may not be set or reset using chattr(1), although it can be displayed by lsattr(1). The 'I' attribute is used by the htree code to indicate that a directory is behind indexed using hashed trees. It may not be set or reset using chattr(1), although it can be displayed by lsattr(1). A file with the `i' attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser or a process pessessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute. A file with the `j' attribute has all of its data written to the ext3 journal before being written to the file itself, if the filesystem is mounted with the "data=ordered" or "data=writeback" options. When the filesystem is mounted with the "data=journalled" option all file data is already journalled and this attribute has no effect. Only the superuser or a process possessing the CAP_SYS_RESOURCE capability can set or clear this attribute. When a file with the `s' attribute set is deleted, its blocks are zeroed and written back to the disk. When a file with the `S' attribute set is modified, the changes are written synchronously on the disk; this is equivalent to the `sync' mount option applied to a subset of the files. A directory with the 'T' attribute will be deemed to be the top of directory hierarchies for the purposes of the Orlov block allocator (which is used in on systems with Linux 2.5.46 or later). A file with the 't' attribute will not have a partial block fragment at the of the file merged with other files (for those filesystems which support tail-merging). This is necessary for applications such as LILO which read the filesystem directly, and who don't understand tail-merged files. When a file with the `u' attribute set is deleted, its contents are saved. This allows the user to ask for its undeletion. The 'X' attribute is used by the experimental compression patches to indicate that a raw contents of a compressed file can be accessed directly. It currently may not be set or reset using chattr(1), although it can be displayed by lsattr(1). The 'Z' attribute is used by the experimental compression patches to indicate a compressed file is dirty. It may not be set or reset using chattr(1), although it can be displayed by lsattr(1). AUTHOR
chattr was written by Remy Card <Remy.Card@linux.org>. BUGS AND LIMITATIONS
As of Linux 2.2, the `c', 's', and `u' attribute are not honored by the kernel filesystem code. These attributes will be implemented in a future ext2 fs version. The `j' option is only useful if the filesystem is mounted as ext3. The `D' option is only useful on Linux kernel 2.5.19 and later. AVAILABILITY
chattr is part of the e2fsprogs package and is available from http://e2fsprogs.sourceforge.net. SEE ALSO
lsattr(1) E2fsprogs version 1.32 November 2002 CHATTR(1)
All times are GMT -4. The time now is 10:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy