Entries tagged 'cat:Code' (Page 3)

Generate Random Passwords in Linux

Two ways to generate random passwords on the command line:

if [ $# -eq 0 ]
  echo "I'll not generate anything for you if you won't give me at least one argument."
  echo "1st argument: password length"
  echo "2nd argument: number of passwords (optional)"
if [ $# -gt 1 ]
while [ $i -lt $num ]; do
  let i=i+1 
  </dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c$1
  echo ""

Pass the length of the password as the first argument and the number of passwords as the second argument, if you want more than one.

Or you can use just this line to generate a single 16 character long password with the same rules.

</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c16; echo ""

Or just use pwgen (man page) to have more options. It's probably in your distro's repos.

Comment via email

moviefy.sh - Make Bash Output like It's The 80s And We're In Hollywood

Source this script in Bash to make unformatted output of commands appear on screen slowly, accompanied by beeping galore.

source moviefy.sh or . moviefy.sh. Every command executed after that will be moviefied. There is no way to turn it off again. (Just exit.) Please note that formatted output may be mangled or it may crash the script. Curses stuff won't work.


export LC_ALL=C
exec > >\
(while IFS= read -d '' -r line; do
  if [[ -n $line ]]; then
    for (( i=0; i<${#line}; i++ )); do
      printf '%c' "$char"
      case $char in
        [" "]) sleep 0.04
        [$'\t']) sleep 0.08
        [$'\v']) sleep 0.7
        [$'\n'$'\r'$'\f']) sleep 0.25
        *) beep -f $(shuf -i 3000-3200 -n 1) -l 5
           sleep 0.015
    printf "${PS1@P}"
    printf ""
PROMPT_COMMAND='printf "\0"'
Comment via email

Backup Shell Script

This entry is an update of the entry 'Automatic backups with rsync under Linux'.
There is a newer version of this entry: 'backup.sh'.

This is an outdated version of my backup script. I've posted a newer version here.

Here is an updated, more versatile version of the simple backup script I posted before. It takes arguments now (wow)! So now you need only one backup.sh and in your cron tab or similar you can pass it the directory you would like to back up.

For example backup.sh /home/user UsersHomeDir will back up the home directory of user to the predefined location.

In preperation you only need to mount the drive you would like to back up to and enter the mount point (or a path inside it) at the top of the script (variable $BUDIR). In this destination folder (which can be an external drive or a NAS) backups are organised in directories named by the host name of the machine the script was executed on and the name of the backup job (the second argument). By default it will keep 8 incremental backups per backup name. This can be changed with the variable $NUM.

If you give the script only one argument it will interpret it as a name of a file that contains the directories that you want to back up.

If you pass no argument to the script it will look for such a file in the location that is pre-defined at the top of the script (variable $LIST).

You can download the script here if you want to.

Comment via email