unable to connect to Azure Postgres from Azure aks - azure

postgres#name-prod-psql-197fb74f68-9psrh:/$ psql "host=name-prod.postgres.database.azure.com port=5432 dbname=prod user=user password=XXX"
psql: error: could not connect to server: Connection timed out
Is the server running on host "name-prod.postgres.database.azure.com" (10.110.0.4) and accepting
TCP/IP connections on port 5432?
If I run traceroute inside the POD
[root#utils /]# traceroute name-prod.postgres.database.azure.com
traceroute to name-prod.postgres.database.azure.com (10.110.0.4), 30 hops max, 60 byte packets
1 10-240-0-226.prometheus-node-exporter.prometheus.svc.cluster.local (10.240.0.226) 0.037 ms 0.019 ms 0.009 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
It used to work for 8 days and then suddenly stopped.
Postgres is placed in subnet 10.110.0.0/16
Aks in prod-private-eks 10.240.0.0/16 with Microsoft.Sql service endpoint added
What could be the issue?

Would suggest you to Open a Firewall Port for PostgreSQL if haven’t
Please refer this document to how to Open a Port in Windows Defender Firewall:
https://manifold.net/doc/mfd9/open_a_firewall_port_for_postgresql.htm
In PostgreSQL’s case it’s typical to use port 5432 if it is available. If it isn’t, most installers will choose the next free port, usually 5433.
Reference: postgresql port confusion 5433 or 5432?

Related

Execute a script every random number with nodejs

I want to execute a script with a random interval between 11 to 13 minutes. I tried this code, but the script is execute in much less than 11 minutes. Is my calculation wrong?
setInterval(function() {
// code to be executed
const script = spawn('node', ['index.js']);
}, 1000 * 60 * Math.floor(Math.random() * 3) + 11); // 1000 milliseconds * 60 seconds * random number of minutes between 11 and 13
First thing, you are missing parenthesis.
It should be 1000 * 60 * (Math.floor(Math.random() * 3) + 11) instead of 1000 * 60 * Math.floor(Math.random() * 3) + 11)
Secondly, Math.floor(Math.random() * 3) can only take 3 possible values (0, 1 or 2), so your script will run either every 11, 12 or 13 minutes.
If you want more possible values between 11 and 13 minutes, you can compute the time interval this way:
Math.floor(1000 * 60 * (Math.random() * 3 + 11)) to have many possible values between 11 and 13 minutes.
This will do the job:
setInterval(function() {
// code to be executed
const script = spawn('node', ['index.js']);
}, Math.floor(1000 * 60 * (Math.random() * 3 + 11)); // 1000 milliseconds * 60 seconds * random number of minutes between 11 and 13

How to set a different time zone for a SPECIFIC task in crontab?

I need to add a new task for crontab which will execute it in a different TZ than the local machine time.
I succeed to do it as you can see in the example below, but the problem is that from time i changed the TZ all the jobs after refers to the new TZ
* * * * * rubHello.sh
0 19 * * * runKuku.sh
CRON_TZ="Europe/Rome"
17 13 * * * /tmp/job1.sh
0 18 * * * /tmp/Job2.sh
in the example above, job1 runs in Europe/Rome as my request, but also job2
runs in that time which is NOT OK.
it there a way to tell crontab change the TZ for only specific task and get back to default crontab TZ for the next jobs after?
Thank you.
Try this (presuming you're in Istanbul), CRON_TZ variable should be set before your cron entry :
* * * * * rubHello.sh
0 19 * * * runKuku.sh
CRON_TZ="Europe/Rome"
17 13 * * * /tmp/job1.sh
CRON_TZ="Europe/Istanbul"
0 18 * * * /tmp/Job2.sh
OR
* * * * * rubHello.sh
0 19 * * * runKuku.sh
0 18 * * * /tmp/Job2.sh
CRON_TZ="Europe/Rome"
17 13 * * * /tmp/job1.sh
This should work, I believe:
* * * * * rubHello.sh
0 19 * * * runKuku.sh
17 13 * * * TZ="Europe/Rome" /tmp/job1.sh
0 18 * * * /tmp/Job2.sh

Node cron, run every midnight

I want to run cron job daily at midnight. For this I am using
0 0 0 1-31 * *
but it doesn't work for me.
I am using the node cron. Please suggest the valid format.
You don't need to set all the fields. Set just first three and it'll take care of running every day at midnight
0 0 0 * * *
It's quite simple....
The below is the code to run crone job every day 12 AM..
var job = new CronJob('0 0 0 * * *', function() {
//will run every day at 12:00 AM
})
For more https://www.npmjs.com/package/cron
You can try this format too.
var CronJob=require('cron').CronJob;
var cronJob1 = new CronJob({
cronTime: '00 00 00 * * * ',
onTick: function () {
//Your code that is to be executed on every midnight
},
start: true,
runOnInit: false
});
To understanding something more about cronTime, See the following codes:
cronTime: '00 */3 * * * * ' => Executes in every 3 seconds.
cronTime: '* */1 * * * * ' => MEANING LESS. Executes every one second.
cronTime: '00 */1 * * * * ' => Executes every 1 minute.
cronTime: '00 30 11 * * 0-5 ' => Runs every weekday (Monday to Friday) # 11.30 AM
cronTime: '00 56 17 * * * ' => Will execute on every 5:56 PM
Here is:
var CronJob = require('cron').CronJob;
var job = new CronJob('00 00 00 * * *', function() {
/*
* Runs every day
* at 00:00:00 AM.
*/
// DO SOMETHING
}, function () {
/* This function is executed when the job stops */
},
true /* Start the job right now */
);
0 0 * * *
This pattern will run CronJob job daily at 00:00
https://crontab.guru/examples.html

crontab why executes script every 2 minutes?

Why it executes the script every 2 minutes?
Shouldn't it execute every 10 minutes ?
*\10 * * * * /usr/bin/python /var/www/py/LSFchecker.py
*\10 * * * *
Should probably be
*/10 * * * *
You can try:
00,10,20,30,40,50 * * * * /usr/bin/python /var/www/py/LSFchecker.py

Cron : Setting alternative seconds

I posted a question the other day about setting alternative minutes in cron, and i was given a lovely simple answer.
0-59/2 * * * * first_script
1-59/2 * * * * second_script
This worked brilliantly, however i have seen realized that i need my scripts to run quicker than every minute.
I know cron doesn't support seconds, but you can bluff it by using sleep, like so
* * * * * /foo/bar/your_script
* * * * * sleep 15; /foo/bar/your_script
* * * * * sleep 30; /foo/bar/your_script
* * * * * sleep 45; /foo/bar/your_script
So i need to combine the both of these so that i can get them to run alternatively every 15 seconds for instance.
Any ideas?
Ended up with the following code to get my scripts to run in shorter intervals than 1 minute.
* * * * * /usr/bin/php -q /path/to/file/script1.php
* * * * * sleep 15; /usr/bin/php -q /path/to/file/script2.php
* * * * * sleep 30; /usr/bin/php -q /path/to/file/script1.php
* * * * * sleep 45; /usr/bin/php -q /path/to/file/script2.php

Resources