Showing posts with label unix. Show all posts
Showing posts with label unix. Show all posts

Thursday, 2 August 2018

UNIX Command to sync files between 2 hosts - RSYNC

Rsync, which is also called Remote sync command is used when you want to sync the local files into remote server. 

Usage: rsync [OPTION]... SRC [SRC]... DEST
  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
  or   rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
  or   rsync [OPTION]... [USER@]HOST:SRC [DEST]
  or   rsync [OPTION]... [USER@]HOST::SRC [DEST]
  or   rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
The ':' usages connect via remote shell, while '::' & 'rsync://' usages connect
to an rsync daemon, and require SRC or DEST to start with a module name.

Options
 -v, --verbose               increase verbosity
 -q, --quiet                 suppress non-error messages
     --no-motd               suppress daemon-mode MOTD (see manpage caveat)
 -c, --checksum              skip based on checksum, not mod-time & size
 -a, --archive               archive mode; same as -rlptgoD (no -H)
     --no-OPTION             turn off an implied OPTION (e.g. --no-D)
 -r, --recursive             recurse into directories
 -R, --relative              use relative path names
     --no-implied-dirs       don't send implied dirs with --relative
 -b, --backup                make backups (see --suffix & --backup-dir)
     --backup-dir=DIR        make backups into hierarchy based in DIR
     --suffix=SUFFIX         set backup suffix (default ~ w/o --backup-dir)
 -u, --update                skip files that are newer on the receiver
     --inplace               update destination files in-place (SEE MAN PAGE)
     --append                append data onto shorter files
 -d, --dirs                  transfer directories without recursing
 -l, --links                 copy symlinks as symlinks
 -L, --copy-links            transform symlink into referent file/dir
     --copy-unsafe-links     only "unsafe" symlinks are transformed
     --safe-links            ignore symlinks that point outside the source tree
 -k, --copy-dirlinks         transform symlink to a dir into referent dir
 -K, --keep-dirlinks         treat symlinked dir on receiver as dir
 -H, --hard-links            preserve hard links
 -p, --perms                 preserve permissions
     --executability         preserve the file's executability
     --chmod=CHMOD           affect file and/or directory permissions
 -o, --owner                 preserve owner (super-user only)
 -g, --group                 preserve group
     --devices               preserve device files (super-user only)
     --specials              preserve special files
 -D                          same as --devices --specials
 -t, --times                 preserve times
 -O, --omit-dir-times        omit directories when preserving times
     --super                 receiver attempts super-user activities
 -S, --sparse                handle sparse files efficiently
 -n, --dry-run               show what would have been transferred
 -W, --whole-file            copy files whole (without rsync algorithm)
 -x, --one-file-system       don't cross filesystem boundaries
 -B, --block-size=SIZE       force a fixed checksum block-size
 -e, --rsh=COMMAND           specify the remote shell to use
     --rsync-path=PROGRAM    specify the rsync to run on the remote machine
     --existing              skip creating new files on receiver
     --ignore-existing       skip updating files that already exist on receiver
     --remove-source-files   sender removes synchronized files (non-dirs)
     --del                   an alias for --delete-during
     --delete                delete extraneous files from destination dirs
     --delete-before         receiver deletes before transfer (default)
     --delete-during         receiver deletes during transfer, not before
     --delete-after          receiver deletes after transfer, not before
     --delete-excluded       also delete excluded files from destination dirs
     --ignore-errors         delete even if there are I/O errors
     --force                 force deletion of directories even if not empty
     --max-delete=NUM        don't delete more than NUM files
     --max-size=SIZE         don't transfer any file larger than SIZE
     --min-size=SIZE         don't transfer any file smaller than SIZE
     --partial               keep partially transferred files
     --partial-dir=DIR       put a partially transferred file into DIR
     --delay-updates         put all updated files into place at transfer's end
 -m, --prune-empty-dirs      prune empty directory chains from the file-list
     --numeric-ids           don't map uid/gid values by user/group name
     --timeout=TIME          set I/O timeout in seconds
 -I, --ignore-times          don't skip files that match in size and mod-time
     --size-only             skip files that match in size
     --modify-window=NUM     compare mod-times with reduced accuracy
 -T, --temp-dir=DIR          create temporary files in directory DIR
 -y, --fuzzy                 find similar file for basis if no dest file
     --compare-dest=DIR      also compare destination files relative to DIR
     --copy-dest=DIR         ... and include copies of unchanged files
     --link-dest=DIR         hardlink to files in DIR when unchanged
 -z, --compress              compress file data during the transfer
     --compress-level=NUM    explicitly set compression level
 -C, --cvs-exclude           auto-ignore files the same way CVS does
 -f, --filter=RULE           add a file-filtering RULE
 -F                          same as --filter='dir-merge /.rsync-filter'
                             repeated: --filter='- .rsync-filter'
     --exclude=PATTERN       exclude files matching PATTERN
     --exclude-from=FILE     read exclude patterns from FILE
     --include=PATTERN       don't exclude files matching PATTERN
     --include-from=FILE     read include patterns from FILE
     --files-from=FILE       read list of source-file names from FILE
 -0, --from0                 all *-from/filter files are delimited by 0s
     --address=ADDRESS       bind address for outgoing socket to daemon
     --port=PORT             specify double-colon alternate port number
     --sockopts=OPTIONS      specify custom TCP options
     --blocking-io           use blocking I/O for the remote shell
     --stats                 give some file-transfer stats
 -8, --8-bit-output          leave high-bit chars unescaped in output
 -h, --human-readable        output numbers in a human-readable format
     --progress              show progress during transfer
 -P                          same as --partial --progress
 -i, --itemize-changes       output a change-summary for all updates
     --out-format=FORMAT     output updates using the specified FORMAT
     --log-file=FILE         log what we're doing to the specified FILE
     --log-file-format=FMT   log updates using the specified FMT
     --password-file=FILE    read password from FILE
     --list-only             list the files instead of copying them
     --bwlimit=KBPS          limit I/O bandwidth; KBytes per second
     --write-batch=FILE      write a batched update to FILE
     --only-write-batch=FILE like --write-batch but w/o updating destination
     --read-batch=FILE       read a batched update from FILE
     --protocol=NUM          force an older protocol version to be used
 -E, --extended-attributes   copy extended attributes
     --cache                 disable fcntl(F_NOCACHE)
 -4, --ipv4                  prefer IPv4
 -6, --ipv6                  prefer IPv6
     --version               print version number

(-h) --help                  show this help (-h works with no other options)

Sunday, 24 June 2018

Enable root user in Mac Terminal

By default in Mac, root user will be in disabled state. And hence the bash terminal will not login as root.
Use the below command to enable the root user run Mac and login as root.

1. Open the Terminal and run the below command. First enter the user password and then enter the new password for root user.

bash-3.2$ dsenableroot
username = abc
user password:
root password:
verify root password:

dsenableroot:: ***Successfully enabled root user.

bash-3.2$ su - root
Password:
abc-MBP:~ root# id
uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem),3(sys),4(tty),5(operator),8(procview),9(procmod),12(everyone),20(staff),29(certusers),61(localaccounts),80(admin),701(1),33(_appstore),98(_lpadmin),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh)

abc-MBP:~ root#

Unix Command to check last reboot

Run the below command to check the last reboot and shutdown time.

Last reboot: This will show all the available entries for reboot. Refer last entry for latest reboot time.
last reboot
reboot    ~                         Sat Apr  7 21:58 
reboot    ~                         Sat Apr  7 21:01 
reboot    ~                         Thu Mar 29 16:33 


wtmp begins Thu Mar 29 16:33
$

Last Shutdown: This will show all the available entries for reboot. Refer last entry for latest shutdown time.
last shutdown
shutdown  ~                         Thu Apr 19 00:59 
shutdown  ~                         Tue Apr 17 10:34 
shutdown  ~                         Sat Apr  7 21:11 
shutdown  ~                         Thu Mar 29 16:39 

wtmp begins Thu Mar 29 16:33 

$

Thursday, 7 June 2018

UNIX Command : comm

Description:
comm - compare two sorted files line by line and write to standard output, the lines that are common, plus the lines that are unique. 

Syntax:
comm [options].. File1 File2

Options:
-1 suppress lines unique to file1.
-2 suppress lines unique to file2.
-3 suppress lines that appear in both files.

For Example:
Consider I have 2 sorted files.

Nirmals-MBP:nirmalg$ cat a.txt
a
b
c
d

Nirmals-MBP:nirmalg$ cat b.txt
c
d
Nirmals-MBP:nirmalg$

To get the common lines from both the files.

Nirmals-MBP:nirmalg$ comm -12 a.txt b.txt
c
d
Nirmals-MBP:nirmalg$

To get uncommon lines between both the files.

Nirmals-MBP:nirmalg$ comm -23 a.txt b.txt
a
b
Nirmals-MBP:nirmalg$

Wednesday, 25 January 2017

Configure DataDirect ODBC on UNIX with PowerCenter


Do the following to install DataDirect ODBC drivers on UNIX:
  1. Install the Informatica Services which include the DataDirect ODBC drivers for UNIX.
  2. Set the ODBCHOME environment variable 
    > ODBCHOME=/opt/Informatica/9.6.1/ODBC7.1; export ODBCHOME
  3. Add the $ODBCHOME/bin directory to the PATH environment variable:
    Using a Bourne shell:
    $ PATH=${PATH}:$ODBCHOME/bin; export PATH
    Using a C shell:
    $ setenv PATH ${PATH}:$ODBCHOME/bin 
  4. Add the $ODBCHOME/lib to the library path variable.


  5. (OPTIONAL) Copy the odbc.ini file to the location where you would like this file to be used.
    Typically the Informatica home directory is used.
    cp $ODBCHOME/odbc.ini $HOME/.odbc.ini
  6. Set the ODBCINI environment variable to the location of the .odbc.ini (or odbc.ini) file: 
    $ ODBCINI=$HOME/.odbc.ini; export ODBCINI
    OR
    $ ODBCINI=$ODBCHOME/odbc.ini; export ODBCINI
  7. Edit the odbc.ini file (specified by the $ODBCINI environment variable) as follows:
    1. Set the InstallDir to the ODBC installation directory ($ODBCHOME).
  8. Re-Start the Informatica Node services.

Informatica Power centre “Java Heap Size” memory error issue


Error:

The following out of memory condition (found in the catalina.out) is an indication that the Java heap size needs to be increased:
Exception class: Exception class: java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
Caught an exception in one of the PCSF or PCSF base servlet threads. See below for the brief stack trace


Fix:
1. Login to the server with the user which is used for Informatica server.
2. Goto $INFA_HOME/tomcat/bin
3. Take backup of the file infaservice.sh
4. Change the below value Xmx512m to Xmx1024m or whatever the required number for variable INFA_JAVA_OPTS

"INFA_JAVA_OPTS="${INFA_JAVA_OPTS} -Xmx1024m"
While previously it was :
"INFA_JAVA_OPTS="${INFA_JAVA_OPTS} -Xmx512m".

Re-start the Node services.

Monday, 22 August 2016

How to Create alias in windows and unix operating system

This article shows how to create a alias in both windows and Unix command prompt.

1. Windows:

1. Open the command prompt. ( Run -> type "cmd" and hit enter.

2. use the below command to create an alias.
            doskey <alias>=<command>

For ex : if i want to set alias sys to connect the database i use the below command.
* doskey sys=sqlplus system/oracle

Now if you type sys it will directly connect to the database by running the sqlplus command.


UNIX:
Now we will see how to create alias in Unix operating system.

1. Login to bash shell.

2. Below is the command used to create an alias in UNIX.

* alias <alias_name>=<command>

For ex : if i want to set l to run the command ls -lrt use the below command.

alias l="ls -lrt"

When you type l it will run the command you have set for this alias.

MBP:~ nirmalg$ alias l="ls -lrt"
MBP:~ nirmalg$ l
total 0
drwxr-xr-x+  4 user1  staff   128 Mar 29 16:37 Public
drwx------+  5 user1  staff   160 Apr  9 22:01 Pictures
drwxr-xr-x   6 user1  staff   192 Apr 24 06:57 Applications

MBP:~ nirmalg$