On macOs-machines (and other unix-like systems most likely too) you can use rsync command to sync two directories in many different ways.
This post is just a quick reminder two myself for a specific use. See links below for further info!
Imagine you’ve copied some file structure to a new directory, have by accident lost some of the files during that process and further more started to working on the files in the new file structure.
You might have some issues if you want to copy the missing files from the old file structure to the new one without searching too long AND without erasing your new work in the new structure if you’d just repeated the copy process.
I used rsync as follows:
rsync -rP /my/old/directory/ /my/new/directory
-r Option: Recursive, traverse into subdirectories
-P Option: Equivalent to –partial –progress: Show progress during transfer
Note that you need to put a slash after your old directory. If not rsync will simply copy your old directory in the new one instead of searching through your old subdirectories for changes.
Ressources I’ve been using to learn this
I wanted to be able to clone a Raspberry Pi’s SD card to having some state that I could go back to if I had messed up to much in this Raspberry Pi’s OS.
As I’m into learning as much command line stuff as possible this is an command line only approach using a Mac (MacOS 10.14.4). Continue reading Learning to Clone A Raspberry Pi’s SD Card (on command line of course)
Backup Database (no plugins required)
- Lock into WP backend with admin rights
- Chose: Tools/Backup
- Tick all boxes to backup all tables
- Download and safe file
Backup Files (via sftp)
- Open sftp client (cyberduck e.g.) locally and log in to webspace
- Download and safe all files
Drink more coffee…
Install Local Server Environment :
To keep it simple, I use MAMP, a one-click-solution to set up my personal developing environment.
I download the current version from https://www.mamp.info/en/ including the php-version, if other needed then included in the MAMP app. For creating one single development environment the free version is great. For multiple projects the PRO version is reasonable.
I run the installer of MAMP.pkg
Systemwide PHP Version
To make sure I also operate on the same php version like MAMP when running commands from the terminal I update OS X’x PHP version to MAMP’s Version like this:
add to .profile:
export PATH="/Applications/MAMP/bin/php/phpVERSION-#-HERE/bin:$PATH" export PATH="/Applications/MAMP/bin/php/php5.6.25/bin:$PATH"
Run source command to make this changed active:
Check if it’s working with:
Enable MySQL Commands to run From Terminal
To enable MySQL commands to be run without entering the whole path each time when using on the command line I add as above for the PHP-Version to .profile:
I add to .profile:
I ru the source command to make this changed active:
And I check if it’s really working by typing in a MySQL command such as:
Subversion to Check out Code From Repositories
Subversion is already a part of OS X. Maybe not the newest version, but usable.
So no further steps to be taken.
Check out the Code:
To check out the code I will be working with I use svn checkout command in the directory to which I want the code to be downloaded to:
svn co https://path-to-the-repository/trunk trunk
svn: runs the subversion application
co: runs a checkout
https://path-to-the-repository/trunk: is the remote path where subversion will download the code from
trunk: tells subversion to download the code to a to be created folder called “trunk”
Install Composer Dependencies Locally
Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.
The above link tells in detail how to install.
PhpStorm is an integrated development environment that helps with a lot of little details. It costs quite some, but there is a 30 day free trial that showed my the worth of this purchase.
The link below hold all infos for setting up PhpStorm:
Xdebug is a PHP extension which provides debugging and profiling capabilities.
and with MAMP:
Ressources I’ve Been Using to Learn This:
As I started to develop on a Raspberry Pi under Raspbian I needed to find a way to back up the system I’m working on.
I will try to set up this using the linux command rsync. Continue reading Learning how to Back up a Raspberry Pi using rsync
As I wanted to know more about what the system of my Raspberry Pi was trying to tell me I had to set up a Mail Transfer Agent (MTA). I was using a MTA called postfix in its local only mode. Continue reading Learning to Setup Postfix to Receive Error Messages From the System of a Raspberry Pi
What I want to achive
(but did not so far…)
I want a Raspberry Pi to automatically run a slideshow after the boot sequence. Continue reading Learning why a Shell Script is not run in boot sequence – Troubleshooting in Raspberry Pi Development
By now, I cannot confirm that this is really working… Sorry.
When developing on a Raspberry Pi I wanted to get rid of screen blanking when not touching the terminal for some time. To do so I had to change some settings in a config file as follows. Continue reading Learning to Disable Text Terminals From Blanking in Raspbian (Linux)
This was a quite tricky thing for me to get it running but here it is – how I download photos of a set (album) on Flickr (both public and private) with a python script to a Raspberry Pi. Continue reading Learning to Download Flickr Photos Using Python and FlickrAPI