Control-M Basic Commands

Create/Edit User


Create Group


Join user to the group


New Rule for root usage


Grant sudo Access


Reference Links

Selang Reference Guide

How to Migrate a WordPress MySQL Database

I very often have to migrate MySQL Databases as I like to spend some time playing with WordPress. So here is an easy and quick way to migrate your DB and avoid manual work when moving a blog from different providers/servers.


  • You must have a pre-configured MySQL server, database and user already created in the destination(new) server
  • You can either use command line or PHPMyAdmin if you have available in the source server
  • Don´t forget to backup your wordpress files/images

From PHPMyAdmin

1. Access your DB

2. Navigate to Export -> Select ¨Quick” and ¨Go¨

3. You will have a .sql file downloaded

From Command Line

1. Access your server where you are migrating from

2. Create WordPress database backup


3. Create WordPress files backup


4. Restore WordPress DB on the new server


5. Restore WordPress files on the new server

Including New Apps in the Search engine on Ubuntu

If you are experiencing issues when trying to search for your recently installed software on Ubuntu, try to create this file with all the info about your software.

It needs to be placed at this path:



How to use Lets Encrypt (Debian / Ubuntu)

Let’s Encrypt is an SSL certificate authority managed by the Internet Security Research Group (ISRG). It utilizes the Automated Certificate Management Environment (ACME) to automatically deploy free SSL certificates that are trusted by nearly all major browsers.

1. Update/Upgrade your system


2. Download and Install Lets Encrypt


3. Download a clone of Let’s Encrypt from the official GitHub repository. /opt is a common installation directory for third-party packages, so let’s install the clone to /opt/letsencrypt:


4. Navigate to the new /opt/letsencrypt directory:


5. Create the certificate

Run Let’s Encrypt with the --standalone parameter. For each additional domain name requiring a certificate, add -d to the end of the command.

If you receive this error, stop your Apache server and try again.

Agree to the Terms of Service and specify if you would like to share your email address with EFF:


If all goes well, you should receive a result like this:


6. Configure your Virtual Host, it should be similar to this, one entry for port 80 and a duplicated block for port 443:


7. Check for the certificated domains:


8. All your certificated sites should be under this path, you also can check with this command:


9. Restart your Apache to apply your changes


10. Test your SSL website use:


For more information: Let’s Encrypt Homepage


Last weekend I attended FOSDEM 2019 and I was amazed how big is this.

Since 2001, FOSDEM is a free and non-commercial event organized by volunteers for software developers to meet, share ideas and collaborate. Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels. It’s widely recognized as the best such conference in Europe.

Attending to the FOSDEM 2019 conference, we could have a deeply immersion in many subjects from more than 728 speakers, 776 events, and 62 different tracks.

The event itself starts only on Saturday, but at day before and after, you have the opportunity to attend to additional workshops, like Pre and Post-FOSDEM events, plus lots of other conferences awareness around the world. So it’s a great opportunity to catch up with the developers and sysadmins community and see what’s is going on at moment. The experience to be there in person is unique!

Also, all the speeches are recorded (automated!) and if you missed any speech that you wanted to watch, you can watch the videos anytime you like. I had a friend speaking on Saturday, and also anyone who wishes to give a speech is free to submit.

 Picture: Janson Room




Pre and Post-events

Important to know

  • Always try to wear comfortable and light clothes/shoes as you are going to walk around a lot
  • Mind your belongs, lots of pick pockets around and they can get very aggressive sometimes, specially late night
  • Use your time to spend meeting new friends and networking, thanks to the technology, you’ll have time to check out the speeches you couldn’t attend
  • There are many food trucks with affordable price inside the University, You’ll spend some time at the queue but it’s worth waiting for

Install and configure chrony – CentOS7

What is Chrony ?
Chrony provides another implementation of NTP. It is designed for systems that are often powered down or disconnected from the network. The main configuration file is /etc/chrony.conf and the parameters are similar to those in the /etc/ntp.conf file. Chronyd is a daemon that runs in user space and also is a command-line program that provides a command prompt and a number of commands.

tracking: Displays system time information.
sources: Displays information about current sources.

You can find more about here:

1. Make sure you have your hostnames and /etc/hosts file properly configured

Server (
Client (

/etc/hosts file localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 host2 host1

2. Install chrony package on both the server and the client machine

# yum install chrony

3. Start and enable the daemon on both the server and client machines

# systemctl start chrony
# systemctl enable chrony

4. At the server machine, edit the /etc/chrony.conf file and add your client network

## Allow NTP client access from local network.

5. At the client machine, edit the /etc/chrony.conf and add your ntp server IP address

# Use public servers from the project.
# Please consider joining the pool (
#server iburst
#server iburst
#server iburst
#server iburst
server iburst

6. Restart chrony service on both machines

# systemctl restart chrony

7. Make sure you allow ntp service in your firewall on both machines

# firewall-cmd --permanent --zone=public --add-service ntp
# firewall-cmd --reload
# firewall-cmd --list-all | grep services

8. Verify your sources information


# chronyc sources
210 Number of sources = 4
MS Name/IP address Stratum Poll Reach LastRx Last sample
^? 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 0 9 0 - +0ns[ +0ns] +/- 0ns
^? 0 6 0 - +0ns[ +0ns] +/- 0ns


# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
^? 0 7 0 - +0ns[ +0ns] +/- 0ns

9. Verify your system time information

# chronyc tracking
Reference ID : 7F7F0101 ()
Stratum : 10
Ref time (UTC) : Wed Aug 15 12:16:29 2018
System time : 0.000000020 seconds fast of NTP time
Last offset : +0.000000000 seconds
RMS offset : 0.000000000 seconds
Frequency : 3.440 ppm fast
Residual freq : +0.000 ppm
Skew : 0.000 ppm
Root delay : 0.000000000 seconds
Root dispersion : 0.000000000 seconds
Update interval : 0.0 seconds
Leap status : Normal

Some of the fields
Reference ID:  The Reference ID and the name or IP address (if available), of the server to which the computer is currently synchronized.
Stratum: The stratum indicates how many hops away from a computer with an attached reference clock you are.
Ref time: This is the time (UTC) at which the last measurement from the reference source was processed.
10. Verify your sources

# chronyc sources -v
210 Number of sources = 4
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
^? 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 0 9 0 - +0ns[ +0ns] +/- 0ns
^? 0 6 0 - +0ns[ +0ns] +/- 0ns

M: The mode of the source, where:
^ means a server
= means a peer
# indicates a locally connected reference clock.

S: The state of the sources, where:

“*” indicates the source to which chronyd is currently synchronized.
“+” indicates acceptable sources that are combined with the selected source.
“-” indicates acceptable sources that are excluded by the combining algorithm.
“?” indicates sources to which connectivity has been lost or whose packets do not pass all tests.
“x” indicates a clock that chronyd thinks is a false ticker, that is, its time is inconsistent with a majority of other sources.
“~” indicates a source whose time appears to have too much variability.
“?” condition is also shown at start-up, until at least three samples have been gathered from it.

Name/IP address: This shows the name or the IP address of the source, or reference ID for reference clocks.