Examples to Sync Directories Interactively
1. Using rsync
Here is a simple Linux shell script that will sync directories interactively using the rsync command:
Script:
#!/bin/bash # Prompt the user for the source and destination directories echo "Enter the source directory: " read source echo "Enter the destination directory: " read destination # Sync the directories interactively rsync -avzi --progress $source $destination
This script will ask the user to enter the source and destination directories, and then it will sync the directories interactively using the rsync command with the following options:
- -a: Archive mode. This preserves the file permissions, ownership, and timestamps, and also recursively sync directories.
- -v: Verbose mode. This displays the file names as they are transferred.
- -z: Compress the data during the transfer.
- -i: Interactive mode. This prompts the user before transferring each file.
- –progress: Show a progress bar during the transfer.
Executing the script:
Here is an example of the output of this script when run on the command line:
Output:
In this example, the user is prompted to enter the source and destination directories, and then the directories are synchronized interactively using the rsync command. The script displays a progress bar during the transfer, and then a message indicating that the sync is complete.
2. Custom Script
Here is an example of a custom script that synchronizes two directories by comparing the contents of the directories and copying any missing or changed files:
Script:
#!/bin/bash
# Prompt the user for the source and destination
#directories
echo “Enter the source directory: “
read source
echo “Enter the destination directory: “
read destination
# Sync the directories by comparing the contents
# and copying missing or changed files
for file in $source/*; do
filename=$(basename “$file”)
if [ ! -f “$destination/$filename” ] || [ “$file” -nt “$destination/$filename” ]; then
echo “Copying $filename to $destination”
cp “$file” “$destination”
fi
done
# Display a message indicating that the sync is complete
echo “Sync complete!”
Executing the script:
Here is an example of the output of this script when run on the command line:
Output:
In this example, the user is prompted to enter the source and destination directories, and then the script compares the contents of the directories and copies any missing or changed files from the source directory to the destination directory. The script displays a message for each file that is copied, and then a message indicating that the sync is complete.
Note: Make sure to make the script executable using the chmod +x command before running it.
Linux Shell Script to Sync Directories Interactively
Scripts that sync directories are scripts used to synchronize the contents of two directories. This means that the script will ensure that the two directories have duplicate files and directories and that the contents of the files are the same. There are various ways to sync directories, and the specific approach depends on the requirements of the sync operation. Some common approaches include using a tool like rsync, writing a custom script that compares the directories and copies the necessary files, or using a version control system like Git to track and sync the changes to the directories.
Scripts that sync directories can be useful in various situations, such as when you need to keep the contents of two directories in sync on different machines, or when you want to synchronize the contents of a directory with a backup location.
Contact Us