CategoryUncategorized
Those days we almost use cloud for everthing. But sometimes we need to pull files from sftp server. Here are two solutions for that
Pull and remove with sftp
This solution pulls the files then removes them from the remote. There is a gotcha that if you expect a lot of files there might be a chance a file to arrive while the “get -r …” command is executing. Then the “rm *” will remove it. So this is suitable if you expect a few files a week/day
Create a batchfile.sh
get -r upload/* incoming/
rm upload/*
Then add cron
0 5 * * * /usr/bin/sftp -b batchfile.sh username@sftp-corp.company.com
Only pulling with lftp
When I don’t have permissions to remove the files from the remote sftp I use the following off-the-shelf aproach.
This cron is synchronizing files all files to /home/USERNAME/incoming
0 5 * * * /usr/bin/lftp -u USERNAME,none -e 'mirror --newer-than="now-7days" --only-newer --exclude .ssh --only-missing / /home/USERNAME/incoming; quit' sftp://sftp-corp.company.com
When in your distribution the postgres is stick to version 10 and you have to upgrade to postgres-11 a good way to do a capistrano deploy is like this
Do the system install with
yum install postgresql10-contrib postgresql10-devel
And then in your /shared/.bundle/config add a line showing the location of the pg libraries
---
BUNDLE_PATH: "/opt/application/shared/bundle"
BUNDLE_BUILD__PG: "--with-pg-config=/usr/pgsql-10/bin/pg_config"
BUNDLE_FROZEN: "true"
BUNDLE_JOBS: "4"
BUNDLE_WITHOUT: "development:test"
Thanks to my colleague Kris for finding the solution.
https://blog.juliobiason.net/thoughts/things-i-learnt-the-hard-way/
Here is how one can setup a nginx to count the https connections made.
Preparation
Create a new folder
mkdir ~/docker_ssl_proxy cd ~/docker_ssl_proxy
Put a dummy entry in your /etc/hosts file
127.0.0.1 YOURDOMAIN.com
Steps
First generate certificate
openssl req -subj '/CN=YOURDOMAIN.com' -x509 -newkey rsa:4096 -nodes -keyout key.pem -out cert.pem -days 365
create a new file something.conf with the following content
server { listen 4000 ssl; ssl_certificate /etc/nginx/conf.d/cert.pem; ssl_certificate_key /etc/nginx/conf.d/key.pem; # access_log /dev/stdout; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { return 200 'With style!'; add_header Content-Type text/plain; } }
Then run the docker with
docker run --rm -v `pwd`/logs:/var/log/nginx -v `pwd`:/etc/nginx/conf.d -p 4000:4000 nginx
Get the cacert
echo quit | openssl s_client -showcerts -servername server -connect YOURDOMAIN.com:4000 > cacert.pem curl --cacert cacert.pem https://YOURDOMAIN.com:4000/ -d 'hello world'
And finally do some connections
go-wrk -c=400 -t=8 -n=10000 -m="POST" -b='{"accountID":"1"}' -i https://YOURDOMAIN.com:4000
I don’t know why people started doing abbreviations, maybe in the past, the bytes were expensive. I suppose life was harsh and there was no enough food for all and the way they named their programs and variables is mirroring their life. Nowadays we have enough goods and time and free space everywhere and we still name our variables/etc. like we are at the dark ages.
My point is that when we are solving some problem is good to have all neurons of our brain to work solving the problem. If we have to decrypt variables, our project structure is not good, we haven’t used with our editor then we are putting bariers which block us of seeing the best solution because our brain is dedicating 5-10% of its power for nonsense.
I am not saying that we should use full sentences of naming the variables/methods/classes/packages/programs. Only that we do not need to spent time decrypting the abbreviation.
I would love to see an operating system where there is no hackish syndrome.
In the cloud
AWS give examples in their documentation with hackish. How it is possible AWS to have so high expectations for hiring developers and let them act as a woodcutter.
The load balancer names in AWS have a size limit in their names so you that you can have YOUR-APP-us-east-1-production load balancer. You have to name it Your-APP-us-east-1-prod.
At Home
My son is learning his computer language and yesterday he asked me what do the method Intn(n Int) – I can’t answer.
“Mom brg me sndwch!”
At Work
Here are some very popular examples
- dev > development
- prod > production
- ctx, ctx > context vs
- obj > object
Linux
Do you know why we write “mount” to mount some file system, and “umount” to unmount? Why?
The opposite command “mount” is not abbreviated to “mnt” or even “mt”. This inconsistency is crazy!
For Robots | For Humans |
lsblk | block-devices |
mount | unmount |
© 2025 Gudasoft
Theme by Anders Norén — Up ↑