Skip to content

Instantly share code, notes, and snippets.

@MGHollander
Last active June 13, 2022 09:59
Show Gist options
  • Save MGHollander/007a8d4e09703b136ae7becfa23d66bc to your computer and use it in GitHub Desktop.
Save MGHollander/007a8d4e09703b136ae7becfa23d66bc to your computer and use it in GitHub Desktop.
Terminal commands (Tar, MySQL, Drush)
# Compress a folder with an exclude
tar --exclude='folder/exclude' -czvf filename.tar.gz folder/
# Compress a folder with progress bar (https://superuser.com/a/665181)
tar cf - /folder/to/compress -P | pv -s $(($(du -sk /folder/to/compress | awk '{print $1}') * 1024)) | gzip > filename.tar.gz
# Display disk usage in a summarized and human readable output
du -h -d1 /path
# Find files older than 7 days
find /path/to/files -mtime +7 -print
# Delete files older than 7 days
find /path/to/files -mtime +7 -delete
## MySQL
# Compress existing database backup
cat /path/to/[database_dump].sql | gzip -c > /path/to/[database_dump].sql.gz
# Create a MySQL database backup
mysqldump -h [host] -u [username] -p [database_name] > /path/to/[database_backup_name]-$(date +'%F-H%M%S').sql
# Create a compressed MySQL database backup
mysqldump -h [host] -u [username] -p [database_name] | gzip -c > /path/to/[database_backup_name]-$(date +'%F-%H%M%S').sql.gz
# Import MySQL database
mysql -h [host] -u [username] -p [database_name] < /path/to/[database_dump].sql
# Import compressed MySQL database
gzip -cd /path/to/[database_dump].sql.gz | mysql -h [host] -u [username] -p [database_name]
# Import MySQL database with a progress bar
pv /path/to/[database_dump].sql | mysql -h [host] -u [username] -p[password] [database_name]
# Import compressed MySQL database with a progress bar
pv /path/to/[database_dump].sql.gz | gzip -cd | mysql -h [host] -u [username] -p[password] [database_name]
## Drush
# Compressed database backup
drush -v sql-dump --result-file=../../release-backups/@DATABASE_@DATE.sql --structure-tables-key=common --gzip
# Import compressed database backup (NOTE: this unpacks the compressed file and leaves it uncompressed on your system :-()
drush sqlq --file=db.sql.gz
# Update Drupal 7 project
drush updb -y && drush fra -y && drush cc all
# Update Drupal 8 project
drush updb && drush csim && drush cr
## SSH
# Copy you public key to a server to login without password
ssh-copy-id -i ~/.ssh/[ssh-key].pub [user]@[server]
# Sync files between servers
rsync -crblPi SOURCE DESTINATION --verbose --backup-dir=../release-backups --exclude={'file1.txt','dir/*/*.txt'} --dry-run
## Docker
# Clean up all docker volumes
docker-compose down --volumes && docker-compose stop && docker system prune -a --volumes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment