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 

$

Saturday, 23 June 2018

Informatica PowerCenter Repository Queries set-2


1: List of Workflows with Integration Service assigned:

SELECT SUBJECT_AREA as FOLDER_NAME, WORKFLOW_NAME, SERVER_NAME as INTEGRATION_SERVICE
FROM REP_WORKFLOWS
WHERE SERVER_NAME IS NOT NULL

Friday, 15 June 2018

How to take a screenshot on your MacBook Pro


You can capture your entire screen or just a selected portion of it. The screenshot is automatically saved to your desktop.

How to take a screenshot of your entire screen
Press Shift-Command (⌘)-3.
Find the screenshot as a .png file on your desktop.

How to take a screenshot of a selected portion of your screen
Press Shift-Command-4. The pointer changes to a crosshair.
Move the crosshair to where you want to start the screenshot, then drag to select an area.
While dragging, you can hold Shift, Option, or Space bar to change the way the selection moves.

When you've selected the area you want, release your mouse or trackpad button. To cancel, press the Esc (Escape) key before you release the button.
Find the screenshot as a .png file on your desktop.

How to take a screenshot of a window
Press Shift-Command-4. The pointer changes to a crosshair.
Press the Space bar. The pointer changes to a camera.
Move the camera over a window to highlight it.
Click your mouse or trackpad. To cancel, press the Esc (Escape) key before you click.
Find the screenshot as a .png file on your desktop.
This works with windows in the Finder and most apps.

How to take a screenshot of a menu
Click the menu to reveal its contents.
Press Shift-Command-4. The pointer changes to a crosshair.
Drag to select the menu.
Release your mouse or trackpad button. To cancel, press the Escape (esc) key before you release the button.
Find the screenshot as a .png file on your desktop.
These steps capture the contents of a menu, but not its title:
Click the menu to reveal its contents.
Press Shift-Command-4. The pointer changes to a crosshair.
Press the Space bar. The pointer changes to a camera.
Move the camera over the menu to highlight it.
Click your mouse or trackpad. To cancel, press the Esc (Escape) key before you click.
Find the screenshot as a .png file on your desktop.

How to take a screenshot of the Touch Bar
If you have a Mac with a Touch Bar and macOS Sierra 10.12.2 or later:
Press Shift-Command-6.
Find the screenshot as a .png file on your desktop.


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$

Informatica PowerCenter Installation step by step


This article has the the complete steps to install the Informatica Powercenter product. This includes the server installation.

Below are the high-level steps:
1. Download the informatica package/zip file.
2. Unzip/Untar the file.
3. Run the installer.
     a. Configure the Domain
     b. Crete a Node.
     c. Configure the Repository service and Integration service.

Pre- Requirements:

Before you start the Installer, make sure you check the below steps.

1. Database has to be installed.
2. Create schemas. One for Domain contents and another one for Repository contents.
3. Grant the below Roles and Privileges.
     a. Roles - CONNECT, RESOURCE
     b. Privileges - CREATE TABLE, CREATE VIEW, CREATE ANY INDEX
     c. Also unlimited tablespace on the schemas. - GRANT UNLIMITED TABLESPACE ON <schema Name>;

Once the above requirements are verified, you can start the Installation.

Server Installation:

Step 1:

Informatica PowerCenter software can be downloaded from https://edelivery.oracle.com
Log on to https://edelivery.oracle.com and accept the Terms and Conditions to download the zip files.

Search and select the below product:
Oracle Informatica PowerCenter and PowerConnect Adapters.

Click on Continue. Accept the terms and conditions here and you can find the below files. Select which version you need. Here there are 2 versions 951 and 961. Click on Download to download the files.

Step 2:
Once download the below files, Unzip all the files.

Step 3:

Once the unzip done, the files will be available in extracted folders and right click on install.bat and select run the Installer as Administrator.

Step 4:
Select the "Install or Upgrade to Informatica 961 Hotfix 4" and click on Start button.

Step 5:
Select Install Informatica 961 HitFix 4 and click on Next.

Step 6:

Choose the licence file that will come with the downloaded zip file and provide the installation directory. This installation directory will be assigned to environment variable INFA_HOME. Click on Next.

Step 7:

On the next screen you will see the summary of settings for the Installation. Click on Install to begin the binary files installation.

Step 8:

The progress of the installation will be shown in the next window,

Step 9:

Once the installtion is 100% completed, it will configure the installed files. Once that is done, it will move to next screen.
Here you select "Create a Domain".
Check the "Enable Https for Informatica Administrator" and
Port 8443 as default. If you want you can change it to any other available port.
Select "Use a keystore Generated by the Installer"
Click on Next.

Step 10:

In the next screen provide the values for Database connection. This is the database details for the Informatica domain.
Once you provide the DB Type, DB User and password, select JDBC URL and enter the URL like hostname:port.
Once you provide the database details, click on "Test Connection". This should show you the successful message. If it is failing, please check the database details and enter it again.
Click on Next.

Step 11:

Enter any keyword (password) in the next screen for the "Keyword" field and leave the Encryption key directory as default. Click on Next.

Step 12:

In the next screen enter the domain details. (Domain Name, Node host name, Node Name, Node port number, Domain user name - Administrator and Enter the Password for Administrator account. This will the superuser for the Informatica server.
Check the tick box, "Display Advanced port configuration page" if you want to change the default ports and click on Next.

Step 13:

If Advanced Ports selected you will show you the advanced ports page. You can leave the default values and click on Next which will start defining the domain. This will start creating the domain and node.

Step 14:

Once the domain is defined, on the next screen, uncheck the "Run Informatica under a different user account". If you want to run the process under different account you can provide that details here. it is suggested to use the same account and don't select the option.
Click on Next.

Step 15:

Once the above step is completed, on the next window you can find the summary of the Post Installation which means the installation is completed. Use the URL for Informatica Administrator Home page to login into Admin Console.
Username -  Administrator
Password - <password you provided in the step 12.


PowerCenter Client Installation:

Once the server is Installed, you can install the client as well. Please follow the below link for client Installation.

Informatica Client Installation

Login Into Admin Console:

Once the server is installed you can try logging into Informatica Administrator Console. Follow the below link to know how to login into admin console.




Thank you.