I have been using Joomla since 1.0 and I can tell that it is an awesome software. All the websites I do are done with Joomla. However, I have realized that Joomla is missing some options that may be very useful. In this case the capability to auto archive articles; this is very handful especially when you are writing a blog like mine.
In this article, I will show you all how to do this. I will assume you are familiar with your database and you have access to CLI.
Do the following steps:
- Get your database details. All information is inside the configuration.php file of your Joomla installation. You will need:
- Database name,
- Database username,
- Database username password,
- Table prefix (it ends with a _).
- Define your auto-archive policy. In my case, I decide to archive all articles under my 'blog' category that haven't been modified (including creation) for more than a month.
- Go to the CLI and edit a file (put attention where you save it, usually /usr/local/bin is a good place). In my example, the file is called auto.archive.sh. Put this:
/usr/bin/mysql -u MYSQL_USER -pMYSQL_PASSWORD DATABASE -e 'UPDATE #PREFIX_content content JOIN #PREFIX_categories category ON category.id=content.catid SET content.state = 2 WHERE DATEDIFF(CURDATE(),created) > 30 AND category.path LIKE "blog/%"'
- I will execute this script always at 00:00. So I added the following crontab:
0 0 * * * /usr/local/bin/auto.archive.sh
Happy blogging!blog comments powered by Disqus