I needed a bash script to delete empty directories, excluding the parent directory. The following does this:
find /home/alex/target mindepth 1 -maxdepth 1 -type d -empty -print0 | xargs -0 rm -R
And the crontab that does this every few hours
0 */12 1-31/2 * * find /home/alex/target -mindepth 1 -maxdepth 1 -type d -empty -print0 | xargs -0 rm -R >/dev/null 2>&1
After reading through a bunch of troubleshooting threads, the following:
- Runs a shell script via cron
- SSH into a remote server using a SSH key for a password
- Executes Rysnc with the options to delete source files after download, and skip files with the extension .part
/usr/bin/rsync -havzPe 'ssh -i /home/alex/.ssh/id_rsa' --rsync path='/usr/bin/rsync' --remove-source-files --exclude='*.part' --stats email@example.com:/home/alex/target /home/alex | /usr/bin/mail -s 'Rsync Output' root
Link Explain Shell
Crontab consisted of the following:
0 */2 * * * /home/alex/sync.sh >/dev/null 2>&1
This runs the shell script every 2 hours. This was created using a this crontab generator.
Generating a SSH key for passwordless SSH login and exporting it remotely is explained here.
Generate the keys on your host server:
ssh-keygen -t dsa
Export the keys to the target server:
ssh-copy-id -i ~/.ssh/id_dsa.pub ross@remotehost [or enter ip address instead of hostname, e.g."remotehost"]
Configure email server so mail command works.
Digital Ocean’s Guide to PostFix
Google’s Protobuf code generator uses an API that many .NET developers may find a bit different than the usual MO.
An alternative to Google’s Protobuf implementation is Marc Gravell’s protobuf-net library, which uses an implementation that may make more sense to .NET developers. However, the code generator for this library is nowhere to be found in the nuget package. You can download it here.
The following is an example of executing the CLI tool
protogen -i:input.proto -o:output.cs
The example found on the csharp tutorial page doesn’t work. Instead do the following
- Open visual studio, open nuget command line, type :Install-Package Google.ProtocolBuffers , link : ProtocolBuffers 188.8.131.525
- Find Package/Google.ProtocolBuffers.184.108.40.2065/tools/ProtoGen.exe
- Use command line, type : ProtoGen.exe addressbook.proto -output_directory=C:\trash
Source: Stackoverflow Post
Marc Gravell has an online tool for generating C# code from a .proto file.
Edit the /etc/samba/smb.conf file and add something similar
path = /samba/secured
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes
Afterwards, save the conf file and restart samba
sudo service smbd restart
First find the drive mounting point, usually located in /dev. In this example, /dev/sdd is the new disk.
sudo fdisk -l
Create a new partition on the drive
sudo fdisk /dev/sdd
Once in fdisk, press the following
- d – to delete any partitions you want removed
- n – create a new partition
- defaults for partition number, start and end sectors on disk
- w – write partition changes
Next format the disk
sudo mkfs /dev/sdd1 -t ext4
Create a mount point for the disk
sudo mkdir sdd1
sudo chmod 777 sdd1
sudo chown currentuser -R sdd1
Mount the disk
sudo mount /dev/sdd1 /mnt/sdd1 -t ext4
Edit fstab file
sudo vi /etc/fstab
add the line
/dev/sdd1 /mnt/sdd1 ext4 defaults 0 0
save the file and then
sudo mount -a
SHA-2 and SHA-256 are interchangeable terms – at least according to the internet.
Second, using the wizard linked in IIS Manager doesn’t default to SHA-2, instead it defaults to SHA-1. The wizard doesn’t even give you the option to issue certificate in SHA-2. Instead, you need to use a MMC snap-in to do it. Directions detailed here:
Create a CSR with SHA256 signature algorithm
For future reference: Pdf Link.
After setting up your google voice account and phone number, dial the following code to forward your number.
Wireless Carrier or Network —> Activation Code
AT&T Cingular, T-Mobile, GSM network: *004*1[GVnumber]*11#
Verizon (CDMA network): *71[GVnumber] AND *90[GVnumber] AND *92[GVnumber]
Verizon (TDMA Network): *74[GVnumber] and *73[GVnumber]
Bluegrass Cellular: *90#[GVnumber] and *92#[GVnumber]
Cincinnati Bell: *004*[GVnumber]#
US Cellular: *74[GVnumber]
Reference: Google Product Page
Since the latest version no longer uses 1.4, here are the instructions to do so manually.
Btsync web GUI responds with ‘Invalid Response’. If this shows delete cookies from your browser or open in a different browser.
Reference: Invalid Request from BtSync