Automated Photo Sharing with Photocrumbs
Productivity Sauce
Using a simple Bash script and a cron job, you can turn Photocrumbs into an automated photo sharing bot. This way, you can drop multiple photos into a separate directory, and the script/cron job combo will publish them one-by-one at specified intervals (e.g., hourly, daily, etc.). The basic version of the Bash script is simplicity itself:
#!/bin/bash
FILE=$(ls *.{jpeg,jpg,JPG,JPEG} | head -1)
mv $FILE /var/www/photocrumbs/photos/The script uses the ls and head tools to obtain the name of the first photo in the current directory. The script then copies the photo to the photos directory inside the Photocrumbs installation. To set up the script, create a text file and paste the code above into it. Save the script under the photobot.sh name, and make it executable using the chmod +x photobot.sh command. Next, you need to create a cron job that will run the script at a specified schedule. Use the crontab -e command to open the crontab file for editing and add the following job to it (replace path/to/dir with the actual path to the directory containing the script and the photos):
daily cd path/to/dir ./photobot.sh
This job will run the script once a day, but you can specify any other schedule. Of course, this basic script can be improved in a number of ways. For example, you can add a condition which aborts the script if there are no photos in the directory:
#!/bin/bash
FILE=$(ls *.{jpeg,jpg,JPG,JPEG} | head -1)
if [[ -n "$FILE" ]]; then
mv $FILE /var/www/photocrumbs/photos/
else
exit 0
fiSince Photocrumbs can pull descriptions from accompanying .php files, you can tweak the script to generate a .php file with predefined text for each photo.
#!/bin/bash
FILE=$(ls * | head -1)
TEXT="Monkey loves banana"
if [[ -n "$FILE" ]]; then
PHP_FILE="${FILE%%.*}".php
echo $TEXT > $PHP_FILE
mv $FILE /var/www/photocrumbs/photos/
mv $PHP_FILE /var/www/photocrumbs/photos/
else
exit 0
fiAnother variation of the script grabs a random line from the text.txt file and uses the obtained text as a description of the published photo:
#!/bin/bash
FILE=$(ls * | head -1)
if [[ -n "$FILE" ]]; then
TEXT=$(shuf -n 1 text.txt)
PHP_FILE="${FILE%%.*}".php
echo $TEXT > $PHP_FILE
mv $FILE /var/www/photocrumbs/photos/
mv $PHP_FILE /var/www/photocrumbs/photos/
else
exit 0
fiOf course, this technique is not limited to Photocrumbs: you can easily adapt the script to work with any other photo sharing application that publishes photos by pulling them from a specific directory.
comments powered by DisqusSubscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Digital Autonomy
• The Answer Was Already on the Shelf
• Changing the Chip Industry: How Public Investment Has Grown Open Silicon
• United Nations Open Source Portal Goes Live
• EU Open Source Strategy Plays Key Role in Tech Sovereignty Package
• France Says “Au Revoir” to Microsoft
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
The Linux Kernel Dev Staging Area Now Rejects AI-Generated Patches
Unless a kernel patch is a valid security fix, it will be rejected if it was created using AI.
-
Linux Surpasses Double-Digit Market Share
According to two sources, the Linux operating system has hit a major milestone in market share that naysayers thought would never happen.
-
AI Helped Develop a Linux Exploit
A use-after-free race exploit was discovered and exploited on CentOS Stream 9.
-
Yet Another Linux Kernel Vulnerability Discovered
Affecting millions of systems, a kernel flaw discovered by Qualys could allow users to gain root privileges.
-
Ubuntu 26.10 to Include Ubuntu Certified Hardware Check
If you've ever wondered if your laptop or PC is officially certified to run Ubuntu, that curiosity will soon be met.
-
Substantial Update to IPFire Now Available
The lastest version of IPFire features a fundamental change to how the system handles DNS.
-
Gnome Working on Test Center App to Make Testing Easier
It's now possible to test experimental features on the Gnome desktop without worrying that you'll break things.
-
New Vulnerability Discovered in Linux Kernel
Hiding out for nearly 15 years, the Ghostlock vulnerability allows a standard logged-in user to gain root privileges.
-
New Linux Flaw Lets Attackers Escape VMs
A 16-year-old vulnerability allows an attacker to escape a virtual machine, gain access to the host, and execute malicious code.
-
Hannah Montana Linux Is Back!
Developer Noah Cagle decided the world needed the once obscure but beloved Linux distribution and gave it a decidedly pink refresh.
