You need a date or timestamp column in your news table:
Then
INSERT INTO archiv (YourColumn1, YourColumn2...etc.)
SELECT NewsColumn1, NewsColumn2, etc FROM news WHERE timestampColumn<(NOW()-INTERVAL 21 day)
Then
DELETE FROM news WHERE timestampColumn<(NOW()-INTERVAL 21 day)
You need to change YourColumn1, etc to the names you are using.